xemu-0.8.111-master-db8d27b9f4a5f04352aa240e1cb223c7d1f126ea:Windows_AMD64:gl_NVIDIA_Corporation_NVIDIA_GeForce_GTX_1070-PCIe-SSE2:gslv_4.00_NVIDIA_via_Cg_compiler vs Xbox_Hardware
2D_Lines
2DLine-15-C000003E0-400_200-400_400
XRGB 555 color depth - green vertical line from 400, 200 - 400, 400.
2DLine-16-C000007E0-400_200-400_400
XRGB 565 color depth - green vertical line from 400, 200 - 400, 400.
2DLine-24-C0000FF00-400_200-400_400
XRGB 888 - green vertical line from 400, 200 - 400, 400
2DLine-24-C0000FF00-444_222-444_444
XRGB 888 - green vertical line from 444, 222 - 444, 444
2DLine-24-C00FF0000-400_200-400_400
XRGB 888 - red vertical line from 400, 200 - 400, 400
2DLine-24-C00FFFFFF-0_0-639_479
XRGB 888 - white diagonal line from 0, 0, - 639, 479 (one pixel short of bottom right corner)
2DLine-24-C00FFFFFF-400_0-400_479
XRGB 888 - white vertical line from 400, 0 - 400, 479 (one pixel short of bottom)
2DLine-24-C00FFFFFF-639_479-0_0
XRGB 888 - white diagonal line from 639, 479 - 0, 0 (one pixel short of the upper left corner)
2DLine-24-CFFFFFFFF-100_100-100_400
XRGB 888 - white vertical line from 100, 100 - 100, 400 - alpha is ignored
3D_primitive
LineLoop
Draws vertices as a line loop using NV097_DRAW_ARRAYS
LineLoop-inlinearrays
Draws vertices as a line loop using NV097_INLINE_ARRAY
LineLoop-inlinearrays-ls
Draws vertices as a line loop using NV097_INLINE_ARRAY with line smoothing enabled.
LineLoop-inlinearrays-ls-ps
Draws vertices as a line loop using NV097_INLINE_ARRAY with line smoothing and polygon smoothing enabled.
LineLoop-inlinearrays-ps
Draws vertices as a line loop using NV097_INLINE_ARRAY with polygon smoothing enabled.
LineLoop-inlinebuf
Draws vertices as a line loop using NV097_SET_VERTEX3F
LineLoop-inlinebuf-ls
Draws vertices as a line loop using NV097_SET_VERTEX3F with line smoothing enabled.
LineLoop-inlinebuf-ls-ps
Draws vertices as a line loop using NV097_SET_VERTEX3F with line smoothing and polygon smoothing enabled.
LineLoop-inlinebuf-ps
Draws vertices as a line loop using NV097_SET_VERTEX3F with polygon smoothing enabled.
LineLoop-inlineelements
Draws vertices as a line loop using NV097_ARRAY_ELEMENT16
LineLoop-inlineelements-ls
Draws vertices as a line loop using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
LineLoop-inlineelements-ls-ps
Draws vertices as a line loop using NV097_ARRAY_ELEMENT16 with line smoothing and polygon smoothing enabled.
LineLoop-inlineelements-ps
Draws vertices as a line loop using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
LineLoop-ls
Draws vertices as a line loop using NV097_DRAW_ARRAYS with line smoothing enabled.
LineLoop-ls-ps
Draws vertices as a line loop using NV097_DRAW_ARRAYS with line smoothing and polygon smoothing enabled.
LineLoop-ps
Draws vertices as a line loop using NV097_DRAW_ARRAYS with polygon smoothing enabled.
Lines-inlinearrays-ls
Draws vertices as lines using NV097_INLINE_ARRAY with line smoothing enabled.
Lines-inlinearrays-ls-ps
Draws vertices as lines using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
Lines-inlinearrays-ps
Draws vertices as lines using NV097_INLINE_ARRAY with polygon smoothing enabled.
Lines-inlinebuf-ls
Draws vertices as lines using NV097_SET_VERTEX3F with line smoothing enabled.
Lines-inlinebuf-ls-ps
Draws vertices as lines using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
Lines-inlinebuf-ps
Draws vertices as lines using NV097_SET_VERTEX3F with polygon smoothing enabled.
Lines-inlineelements-ls
Draws vertices as lines using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
Lines-inlineelements-ls-ps
Draws vertices as lines using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
Lines-inlineelements-ps
Draws vertices as lines using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
Lines-ls
Draws vertices as lines using NV097_DRAW_ARRAYS with line smoothing enabled.
Lines-ls-ps
Draws vertices as lines using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
Lines-ps
Draws vertices as lines using NV097_DRAW_ARRAYS with polygon smoothing enabled.
LineStrip-inlinearrays-ls
Draws vertices as a line strip using NV097_INLINE_ARRAY with line smoothing enabled.
LineStrip-inlinearrays-ls-ps
Draws vertices as a line strip using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
LineStrip-inlinearrays-ps
Draws vertices as a line strip using NV097_INLINE_ARRAY with polygon smoothing enabled.
LineStrip-inlinebuf-ls
Draws vertices as a line strip using NV097_SET_VERTEX3F with line smoothing enabled.
LineStrip-inlinebuf-ls-ps
Draws vertices as a line strip using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
LineStrip-inlinebuf-ps
Draws vertices as a line strip using NV097_SET_VERTEX3F with polygon smoothing enabled.
LineStrip-inlineelements-ls
Draws vertices as a line strip using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
LineStrip-inlineelements-ls-ps
Draws vertices as a line strip using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
LineStrip-inlineelements-ps
Draws vertices as a line strip using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
LineStrip-ls
Draws vertices as a line strip using NV097_DRAW_ARRAYS with line smoothing enabled.
LineStrip-ls-ps
Draws vertices as a line strip using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
LineStrip-ps
Draws vertices as a line strip using NV097_DRAW_ARRAYS with polygon smoothing enabled.
Polygon
Draws vertices as a polygon using NV097_DRAW_ARRAYS
Polygon-inlinearrays
Draws vertices as a polygon using NV097_INLINE_ARRAY
Polygon-inlinearrays-ls
Draws vertices as a polygon using NV097_INLINE_ARRAY with line smoothing enabled.
Polygon-inlinearrays-ls-ps
Draws vertices as a polygon using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
Polygon-inlinearrays-ps
Draws vertices as a polygon using NV097_INLINE_ARRAY with polygon smoothing enabled.
Polygon-inlinebuf
Draws vertices as a polygon using NV097_SET_VERTEX3F
Polygon-inlinebuf-ls
Draws vertices as a polygon using NV097_SET_VERTEX3F with line smoothing enabled.
Polygon-inlinebuf-ls-ps
Draws vertices as a polygon using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
Polygon-inlinebuf-ps
Draws vertices as a polygon using NV097_SET_VERTEX3F with polygon smoothing enabled.
Polygon-inlineelements
Draws vertices as a polygon using NV097_ARRAY_ELEMENT16
Polygon-inlineelements-ls
Draws vertices as a polygon using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
Polygon-inlineelements-ls-ps
Draws vertices as a polygon using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
Polygon-inlineelements-ps
Draws vertices as a polygon using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
Polygon-ls
Draws vertices as a polygon using NV097_DRAW_ARRAYS with line smoothing enabled.
Polygon-ls-ps
Draws vertices as a polygon using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
Polygon-ps
Draws vertices as a polygon using NV097_DRAW_ARRAYS with polygon smoothing enabled.
Quads
Draws vertices as quads using NV097_DRAW_ARRAYS
Quads-inlinearrays
Draws vertices as quads using NV097_INLINE_ARRAY
Quads-inlinearrays-ls
Draws vertices as quads using NV097_INLINE_ARRAY with line smoothing enabled.
Quads-inlinearrays-ls-ps
Draws vertices as quads using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
Quads-inlinearrays-ps
Draws vertices as quads using NV097_INLINE_ARRAY with polygon smoothing enabled.
Quads-inlinebuf
Draws vertices as quads using NV097_SET_VERTEX3F
Quads-inlinebuf-ls
Draws vertices as quads using NV097_SET_VERTEX3F with line smoothing enabled.
Quads-inlinebuf-ls-ps
Draws vertices as quads using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
Quads-inlinebuf-ps
Draws vertices as quads using NV097_SET_VERTEX3F with polygon smoothing enabled.
Quads-inlineelements
Draws vertices as quads using NV097_ARRAY_ELEMENT16
Quads-inlineelements-ls
Draws vertices as quads using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
Quads-inlineelements-ls-ps
Draws vertices as quads using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
Quads-inlineelements-ps
Draws vertices as quads using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
Quads-ls
Draws vertices as quads using NV097_DRAW_ARRAYS with line smoothing enabled.
Quads-ls-ps
Draws vertices as quads using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
Quads-ps
Draws vertices as quads using NV097_DRAW_ARRAYS with polygon smoothing enabled.
QuadStrip
Draws vertices as a strip of quads using NV097_DRAW_ARRAYS
QuadStrip-inlinearrays
Draws vertices as a strip of quads using NV097_INLINE_ARRAY
QuadStrip-inlinearrays-ls
Draws vertices as a strip of quads using NV097_INLINE_ARRAY with line smoothing enabled.
QuadStrip-inlinearrays-ls-ps
Draws vertices as a strip of quads using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
QuadStrip-inlinearrays-ps
Draws vertices as a strip of quads using NV097_INLINE_ARRAY with polygon smoothing enabled.
QuadStrip-inlinebuf
Draws vertices as a strip of quads using NV097_SET_VERTEX3F
QuadStrip-inlinebuf-ls
Draws vertices as a strip of quads using NV097_SET_VERTEX3F with line smoothing enabled.
QuadStrip-inlinebuf-ls-ps
Draws vertices as a strip of quads using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
QuadStrip-inlinebuf-ps
Draws vertices as a strip of quads using NV097_SET_VERTEX3F with polygon smoothing enabled.
QuadStrip-inlineelements
Draws vertices as a strip of quads using NV097_ARRAY_ELEMENT16
QuadStrip-inlineelements-ls
Draws vertices as a strip of quads using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
QuadStrip-inlineelements-ls-ps
Draws vertices as a strip of quads using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
QuadStrip-inlineelements-ps
Draws vertices as a strip of quads using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
QuadStrip-ls
Draws vertices as a strip of quads using NV097_DRAW_ARRAYS with line smoothing enabled.
QuadStrip-ls-ps
Draws vertices as a strip of quads using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
QuadStrip-ps
Draws vertices as a strip of quads using NV097_DRAW_ARRAYS with polygon smoothing enabled.
Triangles
Draws vertices as triangles using NV097_DRAW_ARRAYS
Triangles-inlinearrays
Draws vertices as triangles using NV097_INLINE_ARRAY
Triangles-inlinearrays-ls
Draws vertices as triangles using NV097_INLINE_ARRAY with line smoothing enabled.
Triangles-inlinearrays-ls-ps
Draws vertices as triangles using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
Triangles-inlinearrays-ps
Draws vertices as triangles using NV097_INLINE_ARRAY with polygon smoothing enabled.
Triangles-inlinebuf
Draws vertices as triangles using NV097_SET_VERTEX3F
Triangles-inlinebuf-ls
Draws vertices as triangles using NV097_SET_VERTEX3F with line smoothing enabled.
Triangles-inlinebuf-ls-ps
Draws vertices as triangles using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
Triangles-inlinebuf-ps
Draws vertices as triangles using NV097_SET_VERTEX3F with polygon smoothing enabled.
Triangles-inlineelements
Draws vertices as triangles using NV097_ARRAY_ELEMENT16
Triangles-inlineelements-ls
Draws vertices as triangles using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
Triangles-inlineelements-ls-ps
Draws vertices as triangles using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
Triangles-inlineelements-ps
Draws vertices as triangles using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
Triangles-ls
Draws vertices as triangles using NV097_DRAW_ARRAYS with line smoothing enabled.
Triangles-ls-ps
Draws vertices as triangles using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
Triangles-ps
Draws vertices as triangles using NV097_DRAW_ARRAYS with polygon smoothing enabled.
TriFan
Draws vertices as a triangle fan using NV097_DRAW_ARRAYS
TriFan-inlinearrays
Draws vertices as a triangle fan using NV097_INLINE_ARRAY
TriFan-inlinearrays-ls
Draws vertices as a triangle fan using NV097_INLINE_ARRAY with line smoothing enabled.
TriFan-inlinearrays-ls-ps
Draws vertices as a triangle fan using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
TriFan-inlinearrays-ps
Draws vertices as a triangle fan using NV097_INLINE_ARRAY with polygon smoothing enabled.
TriFan-inlinebuf
Draws vertices as a triangle fan using NV097_SET_VERTEX3F
TriFan-inlinebuf-ls
Draws vertices as a triangle fan using NV097_SET_VERTEX3F with line smoothing enabled.
TriFan-inlinebuf-ls-ps
Draws vertices as a triangle fan using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
TriFan-inlinebuf-ps
Draws vertices as a triangle fan using NV097_SET_VERTEX3F with polygon smoothing enabled.
TriFan-inlineelements
Draws vertices as a triangle fan using NV097_ARRAY_ELEMENT16
TriFan-inlineelements-ls
Draws vertices as a triangle fan using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
TriFan-inlineelements-ls-ps
Draws vertices as a triangle fan using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
TriFan-inlineelements-ps
Draws vertices as a triangle fan using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
TriFan-ls
Draws vertices as a triangle fan using NV097_DRAW_ARRAYS with line smoothing enabled.
TriFan-ls-ps
Draws vertices as a triangle fan using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
TriFan-ps
Draws vertices as a triangle fan using NV097_DRAW_ARRAYS with polygon smoothing enabled.
TriStrip
Draws vertices as a strip of triangles using NV097_DRAW_ARRAYS
TriStrip-inlinearrays
Draws vertices as a strip of triangles using NV097_INLINE_ARRAY
TriStrip-inlinearrays-ls
Draws vertices as a strip of triangles using NV097_INLINE_ARRAY with line smoothing enabled.
TriStrip-inlinearrays-ls-ps
Draws vertices as a strip of triangles using NV097_INLINE_ARRAY with line and polygon smoothing enabled.
TriStrip-inlinearrays-ps
Draws vertices as a strip of triangles using NV097_INLINE_ARRAY with polygon smoothing enabled.
TriStrip-inlinebuf
Draws vertices as a strip of triangles using NV097_SET_VERTEX3F
TriStrip-inlinebuf-ls
Draws vertices as a strip of triangles using NV097_SET_VERTEX3F with line smoothing enabled.
TriStrip-inlinebuf-ls-ps
Draws vertices as a strip of triangles using NV097_SET_VERTEX3F with line and polygon smoothing enabled.
TriStrip-inlinebuf-ps
Draws vertices as a strip of triangles using NV097_SET_VERTEX3F with polygon smoothing enabled.
TriStrip-inlineelements
Draws vertices as a strip of triangles using NV097_ARRAY_ELEMENT16
TriStrip-inlineelements-ls
Draws vertices as a strip of triangles using NV097_ARRAY_ELEMENT16 with line smoothing enabled.
TriStrip-inlineelements-ls-ps
Draws vertices as a strip of triangles using NV097_ARRAY_ELEMENT16 with line and polygon smoothing enabled.
TriStrip-inlineelements-ps
Draws vertices as a strip of triangles using NV097_ARRAY_ELEMENT16 with polygon smoothing enabled.
TriStrip-ls
Draws vertices as a strip of triangles using NV097_DRAW_ARRAYS with line smoothing enabled.
TriStrip-ls-ps
Draws vertices as a strip of triangles using NV097_DRAW_ARRAYS with line and polygon smoothing enabled.
TriStrip-ps
Draws vertices as a strip of triangles using NV097_DRAW_ARRAYS with polygon smoothing enabled.
Alpha_func
AlphaFuncEqual_Enabled
Tests NV097_SET_ALPHA_FUNC_V_EQUAL with NV097_SET_ALPHA_TEST_ENABLE = true
AlphaFuncGreaterThan_Enabled
Tests NV097_SET_ALPHA_FUNC_V_GREATER with NV097_SET_ALPHA_TEST_ENABLE = true
AlphaFuncGreaterThanOrEqual_Enabled
Tests NV097_SET_ALPHA_FUNC_V_GEQUAL with NV097_SET_ALPHA_TEST_ENABLE = true
AlphaFuncLessThan_Enabled
Tests NV097_SET_ALPHA_FUNC_V_LESS with NV097_SET_ALPHA_TEST_ENABLE = true
AlphaFuncLessThanOrEqual_Enabled
Tests NV097_SET_ALPHA_FUNC_V_LEQUAL with NV097_SET_ALPHA_TEST_ENABLE = true
AlphaFuncNotEqual_Enabled
Tests NV097_SET_ALPHA_FUNC_V_NOTEQUAL with NV097_SET_ALPHA_TEST_ENABLE = true
Antialiasing_tests
FBSurfaceWithCenterCorner2
GPUAAWriteAfterCPUWrite
Attrib_carryover
T-bd0.1_0.0_1.0_1.0-da
T-bd0.5_0.0_0.0_1.0-ia
T-bd0.8_0.0_0.0_1.0-ib
T-bs0.1_0.0_1.0_1.0-da
T-bs0.5_0.0_0.0_1.0-ia
T-bs0.8_0.0_0.0_1.0-ib
T-d0.1_0.0_1.0_1.0-da
T-d0.2_0.0_0.6_1.0-ie
T-d0.5_0.0_0.0_1.0-ia
T-d0.8_0.0_0.0_1.0-ib
T-fc0.1_0.0_1.0_1.0-da
T-fc0.5_0.0_0.0_1.0-ia
T-fc0.8_0.0_0.0_1.0-ib
T-n0.1_0.0_1.0_1.0-da
T-n0.5_0.0_0.0_1.0-ia
T-n0.8_0.0_0.0_1.0-ib
T-ps0.1_0.0_1.0_1.0-da
T-ps0.5_0.0_0.0_1.0-ia
T-ps0.8_0.0_0.0_1.0-ib
T-s0.1_0.0_1.0_1.0-da
T-s0.5_0.0_0.0_1.0-ia
T-s0.8_0.0_0.0_1.0-ib
T-t00.1_0.0_1.0_1.0-da
T-t00.5_0.0_0.0_1.0-ia
T-t00.8_0.0_0.0_1.0-ib
T-t10.1_0.0_1.0_1.0-da
T-t10.5_0.0_0.0_1.0-ia
T-t10.8_0.0_0.0_1.0-ib
T-t20.1_0.0_1.0_1.0-da
T-t20.5_0.0_0.0_1.0-ia
T-t20.8_0.0_0.0_1.0-ib
T-t30.1_0.0_1.0_1.0-da
T-t30.5_0.0_0.0_1.0-ia
T-t30.8_0.0_0.0_1.0-ib
T-w0.1_0.0_1.0_1.0-da
T-w0.5_0.0_0.0_1.0-ia
T-w0.8_0.0_0.0_1.0-ib
Attrib_float
-NaNq_NaNq
-NaNs_NaNs
Attrib_setter
Setters-alpha
Setters-visible
Blend_surface
1-DstAlpha_X_O1RGB5
Demonstrates behavior of blend func ADD (1 - DstAlpha) (Zero) with surface mode NV097_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_O1R5G5B5. The background is initialized to various colors (see labels) via a DIFFUSE quad render. A white quad is then blended on top and the final composition rendered to the backbuffer with alpha forced to 1.0 to display the effect on the color channels.
1-DstAlpha_X_ORGB8
Demonstrates behavior of blend func ADD (1 - DstAlpha) (Zero) with surface mode NV097_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_O8R8G8B8. The background is initialized to various colors (see labels) via a DIFFUSE quad render. A white quad is then blended on top and the final composition rendered to the backbuffer with alpha forced to 1.0 to display the effect on the color channels.
1-DstAlpha_X_Z1RGB5
Demonstrates behavior of blend func ADD (1 - DstAlpha) (Zero) with surface mode NV097_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_Z1R5G5B5. The background is initialized to various colors (see labels) via a DIFFUSE quad render. A white quad is then blended on top and the final composition rendered to the backbuffer with alpha forced to 1.0 to display the effect on the color channels.
1-DstAlpha_X_ZRGB8
Demonstrates behavior of blend func ADD (1 - DstAlpha) (Zero) with surface mode NV097_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_Z8R8G8B8. The background is initialized to various colors (see labels) via a DIFFUSE quad render. A white quad is then blended on top and the final composition rendered to the backbuffer with alpha forced to 1.0 to display the effect on the color channels.
1-DstAlpha_XA_O1A7RGB8
Demonstrates behavior of blend func ADD (1 - DstAlpha) (Zero) with surface mode NV097_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_O1A7R8G8B8. The background is initialized to various colors (see labels) via a DIFFUSE quad render. A white quad is then blended on top and the final composition rendered to the backbuffer with alpha forced to 1.0 to display the effect on the color channels.
1-DstAlpha_XA_Z1A7RGB8
Demonstrates behavior of blend func ADD (1 - DstAlpha) (Zero) with surface mode NV097_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_Z1A7R8G8B8. The background is initialized to various colors (see labels) via a DIFFUSE quad render. A white quad is then blended on top and the final composition rendered to the backbuffer with alpha forced to 1.0 to display the effect on the color channels.
ARGB8_Add_SrcA_1-SrcA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_A8R8G8B8 and blend factors {SrcAlpha, 1 - SrcAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
ARGB8_Add_SrcA_DstA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_A8R8G8B8 and blend factors {SrcAlpha, DstAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
DstAlpha_X_O1RGB5
Demonstrates behavior of blend func ADD (DstAlpha) (Zero) with surface mode NV097_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_O1R5G5B5. The background is initialized to various colors (see labels) via a DIFFUSE quad render. A white quad is then blended on top and the final composition rendered to the backbuffer with alpha forced to 1.0 to display the effect on the color channels.
DstAlpha_X_ORGB8
Demonstrates behavior of blend func ADD (DstAlpha) (Zero) with surface mode NV097_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_O8R8G8B8. The background is initialized to various colors (see labels) via a DIFFUSE quad render. A white quad is then blended on top and the final composition rendered to the backbuffer with alpha forced to 1.0 to display the effect on the color channels.
DstAlpha_X_Z1RGB5
Demonstrates behavior of blend func ADD (DstAlpha) (Zero) with surface mode NV097_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_Z1R5G5B5. The background is initialized to various colors (see labels) via a DIFFUSE quad render. A white quad is then blended on top and the final composition rendered to the backbuffer with alpha forced to 1.0 to display the effect on the color channels.
DstAlpha_X_ZRGB8
Demonstrates behavior of blend func ADD (DstAlpha) (Zero) with surface mode NV097_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_Z8R8G8B8. The background is initialized to various colors (see labels) via a DIFFUSE quad render. A white quad is then blended on top and the final composition rendered to the backbuffer with alpha forced to 1.0 to display the effect on the color channels.
DstAlpha_XA_O1A7RGB8
Demonstrates behavior of blend func ADD (DstAlpha) (Zero) with surface mode NV097_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_O1A7R8G8B8. The background is initialized to various colors (see labels) via a DIFFUSE quad render. A white quad is then blended on top and the final composition rendered to the backbuffer with alpha forced to 1.0 to display the effect on the color channels.
DstAlpha_XA_Z1A7RGB8
Demonstrates behavior of blend func ADD (DstAlpha) (Zero) with surface mode NV097_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_Z1A7R8G8B8. The background is initialized to various colors (see labels) via a DIFFUSE quad render. A white quad is then blended on top and the final composition rendered to the backbuffer with alpha forced to 1.0 to display the effect on the color channels.
R5G6B5_Add_SrcA_1-SrcA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_R5G6B5 and blend factors {SrcAlpha, 1 - SrcAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
R5G6B5_Add_SrcA_DstA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_R5G6B5 and blend factors {SrcAlpha, DstAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
X_O1RGB5_Add_SrcA_1-SrcA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_O1R5G5B5 and blend factors {SrcAlpha, 1 - SrcAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
X_O1RGB5_Add_SrcA_DstA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_O1R5G5B5 and blend factors {SrcAlpha, DstAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
X_ORGB8_Add_SrcA_1-SrcA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_O8R8G8B8 and blend factors {SrcAlpha, 1 - SrcAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
X_ORGB8_Add_SrcA_DstA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_O8R8G8B8 and blend factors {SrcAlpha, DstAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
X_Z1RGB5_Add_SrcA_1-SrcA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_Z1R5G5B5 and blend factors {SrcAlpha, 1 - SrcAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
X_Z1RGB5_Add_SrcA_DstA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_X1R5G5B5_Z1R5G5B5 and blend factors {SrcAlpha, DstAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
X_ZRGB8_Add_SrcA_1-SrcA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_Z8R8G8B8 and blend factors {SrcAlpha, 1 - SrcAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
X_ZRGB8_Add_SrcA_DstA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_Z8R8G8B8 and blend factors {SrcAlpha, DstAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
XA_O1A7RGB8_Add_SrcA_1-SrcA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_O1A7R8G8B8 and blend factors {SrcAlpha, 1 - SrcAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
XA_O1A7RGB8_Add_SrcA_DstA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_O1A7R8G8B8 and blend factors {SrcAlpha, DstAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
XA_Z1A7RGB8_Add_SrcA_1-SrcA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_Z1A7R8G8B8 and blend factors {SrcAlpha, 1 - SrcAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
XA_Z1A7RGB8_Add_SrcA_DstA
Demonstrates the behavior of blending various texture formats with the surface mode set to NV097_SET_SURFACE_FORMAT_COLOR_LE_X1A7R8G8B8_Z1A7R8G8B8 and blend factors {SrcAlpha, DstAlpha}. A test pattern is rendered multiple times, partially overlapping itself. A low opacity grey quad is rendered in the upper left, then composited against itself multiple times in the upper right. A zero alpha (or zero high nibble for non-alpha formats) quad is rendered in the lower left and composited against itself in the lower right.
Blend_tests
#spot_0_ADD
#spot_0_MAX
#spot_0_MIN
#spot_0_REVSUB
#spot_0_SADD
#spot_0_SREVSUB
#spot_0_SUB
#spot_1-cA_ADD
#spot_1-cA_MAX
#spot_1-cA_MIN
#spot_1-cA_REVSUB
#spot_1-cA_SADD
#spot_1-cA_SREVSUB
#spot_1-cA_SUB
#spot_1-cRGB_ADD
#spot_1-cRGB_MAX
#spot_1-cRGB_MIN
#spot_1-cRGB_REVSUB
#spot_1-cRGB_SADD
#spot_1-cRGB_SREVSUB
#spot_1-cRGB_SUB
#spot_1-dstA_ADD
#spot_1-dstA_MAX
#spot_1-dstA_MIN
#spot_1-dstA_REVSUB
#spot_1-dstA_SADD
#spot_1-dstA_SREVSUB
#spot_1-dstA_SUB
#spot_1-dstRGB_ADD
#spot_1-dstRGB_MAX
#spot_1-dstRGB_MIN
#spot_1-dstRGB_REVSUB
#spot_1-dstRGB_SADD
#spot_1-dstRGB_SREVSUB
#spot_1-dstRGB_SUB
#spot_1-srcA_ADD
#spot_1-srcA_MAX
#spot_1-srcA_MIN
#spot_1-srcA_REVSUB
#spot_1-srcA_SADD
#spot_1-srcA_SREVSUB
#spot_1-srcA_SUB
#spot_1-srcRGB_ADD
#spot_1-srcRGB_MAX
#spot_1-srcRGB_MIN
#spot_1-srcRGB_REVSUB
#spot_1-srcRGB_SADD
#spot_1-srcRGB_SREVSUB
#spot_1-srcRGB_SUB
#spot_1_ADD
#spot_1_MAX
#spot_1_MIN
#spot_1_REVSUB
#spot_1_SADD
#spot_1_SREVSUB
#spot_1_SUB
#spot_cA_ADD
#spot_cA_MAX
#spot_cA_MIN
#spot_cA_REVSUB
#spot_cA_SADD
#spot_cA_SREVSUB
#spot_cA_SUB
#spot_cRGB_ADD
#spot_cRGB_MAX
#spot_cRGB_MIN
#spot_cRGB_REVSUB
#spot_cRGB_SADD
#spot_cRGB_SREVSUB
#spot_cRGB_SUB
#spot_dstA_ADD
#spot_dstA_MAX
#spot_dstA_MIN
#spot_dstA_REVSUB
#spot_dstA_SADD
#spot_dstA_SREVSUB
#spot_dstA_SUB
#spot_dstRGB_ADD
#spot_dstRGB_MAX
#spot_dstRGB_MIN
#spot_dstRGB_REVSUB
#spot_dstRGB_SADD
#spot_dstRGB_SREVSUB
#spot_dstRGB_SUB
#spot_srcA_ADD
#spot_srcA_MAX
#spot_srcA_MIN
#spot_srcA_REVSUB
#spot_srcA_SADD
#spot_srcA_SREVSUB
#spot_srcA_SUB
#spot_srcAsat_ADD
#spot_srcAsat_MAX
#spot_srcAsat_MIN
#spot_srcAsat_REVSUB
#spot_srcAsat_SADD
#spot_srcAsat_SREVSUB
#spot_srcAsat_SUB
#spot_srcRGB_ADD
#spot_srcRGB_MAX
#spot_srcRGB_MIN
#spot_srcRGB_REVSUB
#spot_srcRGB_SADD
#spot_srcRGB_SREVSUB
#spot_srcRGB_SUB
0_SADD_1
0_SADD_1-cA
0_SADD_1-cRGB
0_SADD_1-dstA
0_SADD_1-dstRGB
0_SADD_1-srcA
0_SADD_1-srcRGB
0_SADD_cA
0_SADD_cRGB
0_SADD_dstA
0_SADD_dstRGB
0_SADD_srcA
0_SADD_srcAsat
0_SADD_srcRGB
0_SREVSUB_1
0_SREVSUB_1-cA
0_SREVSUB_1-cRGB
0_SREVSUB_1-dstA
0_SREVSUB_1-dstRGB
0_SREVSUB_1-srcA
0_SREVSUB_1-srcRGB
0_SREVSUB_cA
0_SREVSUB_cRGB
0_SREVSUB_dstA
0_SREVSUB_dstRGB
0_SREVSUB_srcA
0_SREVSUB_srcAsat
0_SREVSUB_srcRGB
1-cA_SADD_0
1-cA_SADD_1
1-cA_SADD_1-cA
1-cA_SADD_1-cRGB
1-cA_SADD_1-dstA
1-cA_SADD_1-dstRGB
1-cA_SADD_1-srcA
1-cA_SADD_1-srcRGB
1-cA_SADD_cA
1-cA_SADD_cRGB
1-cA_SADD_dstA
1-cA_SADD_dstRGB
1-cA_SADD_srcA
1-cA_SADD_srcAsat
1-cA_SADD_srcRGB
1-cA_SREVSUB_0
1-cA_SREVSUB_1
1-cA_SREVSUB_1-cA
1-cA_SREVSUB_1-cRGB
1-cA_SREVSUB_1-dstA
1-cA_SREVSUB_1-dstRGB
1-cA_SREVSUB_1-srcA
1-cA_SREVSUB_1-srcRGB
1-cA_SREVSUB_cA
1-cA_SREVSUB_cRGB
1-cA_SREVSUB_dstA
1-cA_SREVSUB_dstRGB
1-cA_SREVSUB_srcA
1-cA_SREVSUB_srcAsat
1-cA_SREVSUB_srcRGB
1-cRGB_SADD_0
1-cRGB_SADD_1
1-cRGB_SADD_1-cA
1-cRGB_SADD_1-cRGB
1-cRGB_SADD_1-dstA
1-cRGB_SADD_1-dstRGB
1-cRGB_SADD_1-srcA
1-cRGB_SADD_1-srcRGB
1-cRGB_SADD_cA
1-cRGB_SADD_cRGB
1-cRGB_SADD_dstA
1-cRGB_SADD_dstRGB
1-cRGB_SADD_srcA
1-cRGB_SADD_srcAsat
1-cRGB_SADD_srcRGB
1-cRGB_SREVSUB_0
1-cRGB_SREVSUB_1
1-cRGB_SREVSUB_1-cA
1-cRGB_SREVSUB_1-cRGB
1-cRGB_SREVSUB_1-dstA
1-cRGB_SREVSUB_1-dstRGB
1-cRGB_SREVSUB_1-srcA
1-cRGB_SREVSUB_1-srcRGB
1-cRGB_SREVSUB_cA
1-cRGB_SREVSUB_cRGB
1-cRGB_SREVSUB_dstA
1-cRGB_SREVSUB_dstRGB
1-cRGB_SREVSUB_srcA
1-cRGB_SREVSUB_srcAsat
1-cRGB_SREVSUB_srcRGB
1-dstA_SADD_0
1-dstA_SADD_1
1-dstA_SADD_1-cA
1-dstA_SADD_1-cRGB
1-dstA_SADD_1-dstA
1-dstA_SADD_1-dstRGB
1-dstA_SADD_1-srcA
1-dstA_SADD_1-srcRGB
1-dstA_SADD_cA
1-dstA_SADD_cRGB
1-dstA_SADD_dstA
1-dstA_SADD_dstRGB
1-dstA_SADD_srcA
1-dstA_SADD_srcAsat
1-dstA_SADD_srcRGB
1-dstA_SREVSUB_0
1-dstA_SREVSUB_1
1-dstA_SREVSUB_1-cA
1-dstA_SREVSUB_1-cRGB
1-dstA_SREVSUB_1-dstA
1-dstA_SREVSUB_1-dstRGB
1-dstA_SREVSUB_1-srcA
1-dstA_SREVSUB_1-srcRGB
1-dstA_SREVSUB_cA
1-dstA_SREVSUB_cRGB
1-dstA_SREVSUB_dstA
1-dstA_SREVSUB_dstRGB
1-dstA_SREVSUB_srcA
1-dstA_SREVSUB_srcAsat
1-dstA_SREVSUB_srcRGB
1-dstRGB_SADD_0
1-dstRGB_SADD_1
1-dstRGB_SADD_1-cA
1-dstRGB_SADD_1-cRGB
1-dstRGB_SADD_1-dstA
1-dstRGB_SADD_1-dstRGB
1-dstRGB_SADD_1-srcA
1-dstRGB_SADD_1-srcRGB
1-dstRGB_SADD_cA
1-dstRGB_SADD_cRGB
1-dstRGB_SADD_dstA
1-dstRGB_SADD_dstRGB
1-dstRGB_SADD_srcA
1-dstRGB_SADD_srcAsat
1-dstRGB_SADD_srcRGB
1-dstRGB_SREVSUB_0
1-dstRGB_SREVSUB_1
1-dstRGB_SREVSUB_1-cA
1-dstRGB_SREVSUB_1-cRGB
1-dstRGB_SREVSUB_1-dstA
1-dstRGB_SREVSUB_1-dstRGB
1-dstRGB_SREVSUB_1-srcA
1-dstRGB_SREVSUB_1-srcRGB
1-dstRGB_SREVSUB_cA
1-dstRGB_SREVSUB_cRGB
1-dstRGB_SREVSUB_dstA
1-dstRGB_SREVSUB_dstRGB
1-dstRGB_SREVSUB_srcA
1-dstRGB_SREVSUB_srcAsat
1-dstRGB_SREVSUB_srcRGB
1-srcA_SADD_0
1-srcA_SADD_1
1-srcA_SADD_1-cA
1-srcA_SADD_1-cRGB
1-srcA_SADD_1-dstA
1-srcA_SADD_1-dstRGB
1-srcA_SADD_1-srcA
1-srcA_SADD_1-srcRGB
1-srcA_SADD_cA
1-srcA_SADD_cRGB
1-srcA_SADD_dstA
1-srcA_SADD_dstRGB
1-srcA_SADD_srcA
1-srcA_SADD_srcAsat
1-srcA_SADD_srcRGB
1-srcA_SREVSUB_0
1-srcA_SREVSUB_1
1-srcA_SREVSUB_1-cA
1-srcA_SREVSUB_1-cRGB
1-srcA_SREVSUB_1-dstA
1-srcA_SREVSUB_1-dstRGB
1-srcA_SREVSUB_1-srcA
1-srcA_SREVSUB_1-srcRGB
1-srcA_SREVSUB_cA
1-srcA_SREVSUB_cRGB
1-srcA_SREVSUB_dstA
1-srcA_SREVSUB_dstRGB
1-srcA_SREVSUB_srcA
1-srcA_SREVSUB_srcAsat
1-srcA_SREVSUB_srcRGB
1-srcRGB_SADD_0
1-srcRGB_SADD_1
1-srcRGB_SADD_1-cA
1-srcRGB_SADD_1-cRGB
1-srcRGB_SADD_1-dstA
1-srcRGB_SADD_1-dstRGB
1-srcRGB_SADD_1-srcA
1-srcRGB_SADD_1-srcRGB
1-srcRGB_SADD_cA
1-srcRGB_SADD_cRGB
1-srcRGB_SADD_dstA
1-srcRGB_SADD_dstRGB
1-srcRGB_SADD_srcA
1-srcRGB_SADD_srcAsat
1-srcRGB_SADD_srcRGB
1-srcRGB_SREVSUB_0
1-srcRGB_SREVSUB_1
1-srcRGB_SREVSUB_1-cA
1-srcRGB_SREVSUB_1-cRGB
1-srcRGB_SREVSUB_1-dstA
1-srcRGB_SREVSUB_1-dstRGB
1-srcRGB_SREVSUB_1-srcA
1-srcRGB_SREVSUB_1-srcRGB
1-srcRGB_SREVSUB_cA
1-srcRGB_SREVSUB_cRGB
1-srcRGB_SREVSUB_dstA
1-srcRGB_SREVSUB_dstRGB
1-srcRGB_SREVSUB_srcA
1-srcRGB_SREVSUB_srcAsat
1-srcRGB_SREVSUB_srcRGB
1_SADD_0
1_SADD_1
1_SADD_1-cA
1_SADD_1-cRGB
1_SADD_1-dstA
1_SADD_1-dstRGB
1_SADD_1-srcA
1_SADD_1-srcRGB
1_SADD_cA
1_SADD_cRGB
1_SADD_dstA
1_SADD_dstRGB
1_SADD_srcA
1_SADD_srcAsat
1_SADD_srcRGB
1_SREVSUB_0
1_SREVSUB_1
1_SREVSUB_1-cA
1_SREVSUB_1-cRGB
1_SREVSUB_1-dstA
1_SREVSUB_1-dstRGB
1_SREVSUB_1-srcA
1_SREVSUB_1-srcRGB
1_SREVSUB_cA
1_SREVSUB_cRGB
1_SREVSUB_dstA
1_SREVSUB_dstRGB
1_SREVSUB_srcA
1_SREVSUB_srcAsat
1_SREVSUB_srcRGB
cA_SADD_0
cA_SADD_1
cA_SADD_1-cA
cA_SADD_1-cRGB
cA_SADD_1-dstA
cA_SADD_1-dstRGB
cA_SADD_1-srcA
cA_SADD_1-srcRGB
cA_SADD_cA
cA_SADD_cRGB
cA_SADD_dstA
cA_SADD_dstRGB
cA_SADD_srcA
cA_SADD_srcAsat
cA_SADD_srcRGB
cA_SREVSUB_0
cA_SREVSUB_1
cA_SREVSUB_1-cA
cA_SREVSUB_1-cRGB
cA_SREVSUB_1-dstA
cA_SREVSUB_1-dstRGB
cA_SREVSUB_1-srcA
cA_SREVSUB_1-srcRGB
cA_SREVSUB_cA
cA_SREVSUB_cRGB
cA_SREVSUB_dstA
cA_SREVSUB_dstRGB
cA_SREVSUB_srcA
cA_SREVSUB_srcAsat
cA_SREVSUB_srcRGB
cRGB_SADD_0
cRGB_SADD_1
cRGB_SADD_1-cA
cRGB_SADD_1-cRGB
cRGB_SADD_1-dstA
cRGB_SADD_1-dstRGB
cRGB_SADD_1-srcA
cRGB_SADD_1-srcRGB
cRGB_SADD_cA
cRGB_SADD_cRGB
cRGB_SADD_dstA
cRGB_SADD_dstRGB
cRGB_SADD_srcA
cRGB_SADD_srcAsat
cRGB_SADD_srcRGB
cRGB_SREVSUB_0
cRGB_SREVSUB_1
cRGB_SREVSUB_1-cA
cRGB_SREVSUB_1-cRGB
cRGB_SREVSUB_1-dstA
cRGB_SREVSUB_1-dstRGB
cRGB_SREVSUB_1-srcA
cRGB_SREVSUB_1-srcRGB
cRGB_SREVSUB_cA
cRGB_SREVSUB_cRGB
cRGB_SREVSUB_dstA
cRGB_SREVSUB_dstRGB
cRGB_SREVSUB_srcA
cRGB_SREVSUB_srcAsat
cRGB_SREVSUB_srcRGB
dstA_SADD_0
dstA_SADD_1
dstA_SADD_1-cA
dstA_SADD_1-cRGB
dstA_SADD_1-dstA
dstA_SADD_1-dstRGB
dstA_SADD_1-srcA
dstA_SADD_1-srcRGB
dstA_SADD_cA
dstA_SADD_cRGB
dstA_SADD_dstA
dstA_SADD_dstRGB
dstA_SADD_srcA
dstA_SADD_srcAsat
dstA_SADD_srcRGB
dstA_SREVSUB_0
dstA_SREVSUB_1
dstA_SREVSUB_1-cA
dstA_SREVSUB_1-cRGB
dstA_SREVSUB_1-dstA
dstA_SREVSUB_1-dstRGB
dstA_SREVSUB_1-srcA
dstA_SREVSUB_1-srcRGB
dstA_SREVSUB_cA
dstA_SREVSUB_cRGB
dstA_SREVSUB_dstA
dstA_SREVSUB_dstRGB
dstA_SREVSUB_srcA
dstA_SREVSUB_srcAsat
dstA_SREVSUB_srcRGB
dstRGB_SADD_0
dstRGB_SADD_1
dstRGB_SADD_1-cA
dstRGB_SADD_1-cRGB
dstRGB_SADD_1-dstA
dstRGB_SADD_1-dstRGB
dstRGB_SADD_1-srcA
dstRGB_SADD_1-srcRGB
dstRGB_SADD_cA
dstRGB_SADD_cRGB
dstRGB_SADD_dstA
dstRGB_SADD_dstRGB
dstRGB_SADD_srcA
dstRGB_SADD_srcAsat
dstRGB_SADD_srcRGB
dstRGB_SREVSUB_0
dstRGB_SREVSUB_1
dstRGB_SREVSUB_1-cA
dstRGB_SREVSUB_1-cRGB
dstRGB_SREVSUB_1-dstA
dstRGB_SREVSUB_1-dstRGB
dstRGB_SREVSUB_1-srcA
dstRGB_SREVSUB_1-srcRGB
dstRGB_SREVSUB_cA
dstRGB_SREVSUB_cRGB
dstRGB_SREVSUB_dstA
dstRGB_SREVSUB_dstRGB
dstRGB_SREVSUB_srcA
dstRGB_SREVSUB_srcAsat
dstRGB_SREVSUB_srcRGB
srcA_SADD_0
srcA_SADD_1
srcA_SADD_1-cA
srcA_SADD_1-cRGB
srcA_SADD_1-dstA
srcA_SADD_1-dstRGB
srcA_SADD_1-srcA
srcA_SADD_1-srcRGB
srcA_SADD_cA
srcA_SADD_cRGB
srcA_SADD_dstA
srcA_SADD_dstRGB
srcA_SADD_srcA
srcA_SADD_srcAsat
srcA_SADD_srcRGB
srcA_SREVSUB_0
srcA_SREVSUB_1
srcA_SREVSUB_1-cA
srcA_SREVSUB_1-cRGB
srcA_SREVSUB_1-dstA
srcA_SREVSUB_1-dstRGB
srcA_SREVSUB_1-srcA
srcA_SREVSUB_1-srcRGB
srcA_SREVSUB_cA
srcA_SREVSUB_cRGB
srcA_SREVSUB_dstA
srcA_SREVSUB_dstRGB
srcA_SREVSUB_srcA
srcA_SREVSUB_srcAsat
srcA_SREVSUB_srcRGB
srcAsat_SADD_0
srcAsat_SADD_1
srcAsat_SADD_1-cA
srcAsat_SADD_1-cRGB
srcAsat_SADD_1-dstA
srcAsat_SADD_1-dstRGB
srcAsat_SADD_1-srcA
srcAsat_SADD_1-srcRGB
srcAsat_SADD_cA
srcAsat_SADD_cRGB
srcAsat_SADD_dstA
srcAsat_SADD_dstRGB
srcAsat_SADD_srcA
srcAsat_SADD_srcAsat
srcAsat_SADD_srcRGB
srcAsat_SREVSUB_0
srcAsat_SREVSUB_1
srcAsat_SREVSUB_1-cA
srcAsat_SREVSUB_1-cRGB
srcAsat_SREVSUB_1-dstA
srcAsat_SREVSUB_1-dstRGB
srcAsat_SREVSUB_1-srcA
srcAsat_SREVSUB_1-srcRGB
srcAsat_SREVSUB_cA
srcAsat_SREVSUB_cRGB
srcAsat_SREVSUB_dstA
srcAsat_SREVSUB_dstRGB
srcAsat_SREVSUB_srcA
srcAsat_SREVSUB_srcAsat
srcAsat_SREVSUB_srcRGB
srcRGB_SADD_0
srcRGB_SADD_1
srcRGB_SADD_1-cA
srcRGB_SADD_1-cRGB
srcRGB_SADD_1-dstA
srcRGB_SADD_1-dstRGB
srcRGB_SADD_1-srcA
srcRGB_SADD_1-srcRGB
srcRGB_SADD_cA
srcRGB_SADD_cRGB
srcRGB_SADD_dstA
srcRGB_SADD_dstRGB
srcRGB_SADD_srcA
srcRGB_SADD_srcAsat
srcRGB_SADD_srcRGB
srcRGB_SREVSUB_0
srcRGB_SREVSUB_1
srcRGB_SREVSUB_1-cA
srcRGB_SREVSUB_1-cRGB
srcRGB_SREVSUB_1-dstA
srcRGB_SREVSUB_1-dstRGB
srcRGB_SREVSUB_1-srcA
srcRGB_SREVSUB_1-srcRGB
srcRGB_SREVSUB_cA
srcRGB_SREVSUB_cRGB
srcRGB_SREVSUB_dstA
srcRGB_SREVSUB_dstRGB
srcRGB_SREVSUB_srcA
srcRGB_SREVSUB_srcAsat
srcRGB_SREVSUB_srcRGB
Clear
SCF_X1A7R8G8B8_O1A7R8G8B8
Tests the effect of clear color on LE_X1A7R8G8B8_O1A7R8G8B8 surface format. The cleared surface will have its most significant bit set to 1.
SCF_X1A7R8G8B8_Z1A7R8G8B8
Tests the effect of clear color on LE_X1A7R8G8B8_Z1A7R8G8B8 surface format. The cleared surface will have its most significant bit set to 0.
SCF_X1R5G5B5_O1R5G5B5
SCF_X8R8G8B8_O8R8G8B8
Tests the effect of clear color on LE_X8R8G8B8_O8R8G8B8 surface format. The cleared surface will have its most significant byte set to 1.
SCF_X8R8G8B8_Z8R8G8B8
Tests the effect of clear color on LE_X8R8G8B8_Z8R8G8B8 surface format. The cleared surface will have its most significant byte set to 0.
SFC_X1R5G5B5_Z1R5G5B5
Tests the effect of clear color on LE_X1R5G5B5_Z1R5G5B5 surface format. The cleared surface will have its most significant bit set to 0. (Note that the surface is rendered as an ARGB8 texture)
Color_key
FixedTex_Alpha
With the fixed function pipeline, zero out just the alpha channel for all places where the colorkey matches the value of a texel. RGB channels are unaffected. This should omit all texels that match the color key.
FixedTex_AlphaColor
With the fixed function pipeline, kill the texel completely for wherever the color key matches the value of a texel. This completely masks the texel rather than simply zero-ing out values. See IgnAlphaCh_FixedTex_AlphaColor. This should omit all texels that match the color key.
FixedTex_Color
With the fixed function pipeline, zero out the color and alpha channels for all places where the color key matches the value of a texel. Note that the Alpha channel is also set to zero. This should omit all texels that match the color key.
FixedTex_Disabled
With the fixed function pipeline, make no changes to any texel whose value matches the color key. This should render all texels as fully opaque with their original colors.
IgnAlphaCh_FixedTex_Alpha
With the fixed function pipeline, set the color key mode to clear just the alpha channel for matching texels. When rendering, set the final combiner to use an alpha value of 0xFF for all texels, forcing pixels to be rendered opaque despite matching the color key. This should render all texels fully opaque with their original colors, since the texel alpha is ignored during texturing.
IgnAlphaCh_FixedTex_AlphaColor
With the fixed function pipeline, kill the texel completely for wherever the color key matches the value of a texel. This completely masks the texel rather than simply zero-ing out values. When rendering, set the final combiner to use an alpha value of 0xFF for all texels. This omits killed texels even though the combiner sets them to fully opaque during texturing.
IgnAlphaCh_FixedTex_Color
With the fixed function pipeline, zero out the color and alpha channels for all places where the color key matches the value of a texel. When rendering, set the final combiner to use an alpha value of 0xFF for all texels, forcing pixels to be rendered opaque despite matching the color key. This should render matching texels as fully black, since their RGB values were zeroed out and the zeroed alpha channel is ignored.
IgnAlphaCh_FixedTex_Disabled
With the fixed function pipeline, make no changes to any texel whose value matches the color key. When rendering, set the final combiner to use an alpha value of 0xFF for all texels. This should render all texels as fully opaque with their original colors.
Color_mask_blend
C00010101_O32774_S772_D0
Color_zeta_overlap
AdjacentWithAA
ColorIntoZeta_ZB
ZetaIntoColor
Combiner
CombinerOps
Tests the various output operations.
Context_switch
GRZero
Degenerate_begin_end
BeginWithoutEnd
Renders a series of 3 triangles and one quad. The middle two triangles send NV097_SET_BEGIN_END with a triangle primitive, but do not send NV097_SET_BEGIN_END with NV097_SET_BEGIN_END_OP_END when completed. The final quad is treated as a triangle by the nv2a as the previous triangle primitive was never ended.
Depth_buffer
DepthFmt_z16_Cn_FZn_M00baae
DepthFmt_z16_Cn_FZn_M00c003
DepthFmt_z16_Cn_FZn_M00c558
DepthFmt_z16_Cn_FZn_M00caad
DepthFmt_z16_Cn_FZn_M00d002
DepthFmt_z16_Cn_FZn_M00d557
DepthFmt_z16_Cn_FZn_M00daac
DepthFmt_z16_Cn_FZn_M00e001
DepthFmt_z16_Cn_FZn_M00e556
DepthFmt_z16_Cn_FZn_M00eaab
DepthFmt_z16_Cn_FZn_M00f000
DepthFmt_z16_Cn_FZn_M00f555
DepthFmt_z16_Cn_FZn_M00faaa
DepthFmt_z16_Cn_FZn_M00ffff
DepthFmt_z16_Cn_FZy_M00000f
DepthFmt_z16_Cn_FZy_M00000f_ZB
DepthFmt_z16_Cn_FZy_M000564
DepthFmt_z16_Cn_FZy_M000564_ZB
DepthFmt_z16_Cn_FZy_M000ab9
DepthFmt_z16_Cn_FZy_M000ab9_ZB
DepthFmt_z16_Cn_FZy_M00100e
DepthFmt_z16_Cn_FZy_M00100e_ZB
DepthFmt_z16_Cn_FZy_M001563
DepthFmt_z16_Cn_FZy_M001563_ZB
DepthFmt_z16_Cn_FZy_M001ab8
DepthFmt_z16_Cn_FZy_M001ab8_ZB
DepthFmt_z16_Cn_FZy_M00200d
DepthFmt_z16_Cn_FZy_M00200d_ZB
DepthFmt_z16_Cn_FZy_M002562
DepthFmt_z16_Cn_FZy_M002562_ZB
DepthFmt_z16_Cn_FZy_M002ab7
DepthFmt_z16_Cn_FZy_M002ab7_ZB
DepthFmt_z16_Cn_FZy_M00300c
DepthFmt_z16_Cn_FZy_M00300c_ZB
DepthFmt_z16_Cn_FZy_M003561_ZB
DepthFmt_z16_Cn_FZy_M003ab6
DepthFmt_z16_Cn_FZy_M003ab6_ZB
DepthFmt_z16_Cn_FZy_M00400b
DepthFmt_z16_Cn_FZy_M00400b_ZB
DepthFmt_z16_Cn_FZy_M004560
DepthFmt_z16_Cn_FZy_M004560_ZB
DepthFmt_z16_Cn_FZy_M004ab5_ZB
DepthFmt_z16_Cn_FZy_M00500a
DepthFmt_z16_Cn_FZy_M00500a_ZB
DepthFmt_z16_Cn_FZy_M00555f_ZB
DepthFmt_z16_Cn_FZy_M005ab4
DepthFmt_z16_Cn_FZy_M005ab4_ZB
DepthFmt_z16_Cn_FZy_M006009_ZB
DepthFmt_z16_Cn_FZy_M00655e_ZB
DepthFmt_z16_Cn_FZy_M006ab3_ZB
DepthFmt_z16_Cn_FZy_M007008_ZB
DepthFmt_z16_Cn_FZy_M00755d_ZB
DepthFmt_z16_Cn_FZy_M007ab2_ZB
DepthFmt_z16_Cn_FZy_M008007_ZB
DepthFmt_z16_Cn_FZy_M00855c_ZB
DepthFmt_z16_Cn_FZy_M008ab1_ZB
DepthFmt_z16_Cn_FZy_M009006_ZB
DepthFmt_z16_Cn_FZy_M00955b_ZB
DepthFmt_z16_Cn_FZy_M009ab0_ZB
DepthFmt_z16_Cn_FZy_M00a005_ZB
DepthFmt_z16_Cn_FZy_M00a55a_ZB
DepthFmt_z16_Cn_FZy_M00aaaf_ZB
DepthFmt_z16_Cn_FZy_M00b004_ZB
DepthFmt_z16_Cn_FZy_M00b559_ZB
DepthFmt_z16_Cn_FZy_M00baae_ZB
DepthFmt_z16_Cn_FZy_M00c003_ZB
DepthFmt_z16_Cn_FZy_M00c558_ZB
DepthFmt_z16_Cn_FZy_M00caad_ZB
DepthFmt_z16_Cn_FZy_M00d002_ZB
DepthFmt_z16_Cn_FZy_M00d557_ZB
DepthFmt_z16_Cn_FZy_M00daac
DepthFmt_z16_Cn_FZy_M00daac_ZB
DepthFmt_z16_Cn_FZy_M00e001
DepthFmt_z16_Cn_FZy_M00e001_ZB
DepthFmt_z16_Cn_FZy_M00e556
DepthFmt_z16_Cn_FZy_M00e556_ZB
DepthFmt_z16_Cn_FZy_M00eaab
DepthFmt_z16_Cn_FZy_M00eaab_ZB
DepthFmt_z16_Cn_FZy_M00f000
DepthFmt_z16_Cn_FZy_M00f000_ZB
DepthFmt_z16_Cn_FZy_M00f555
DepthFmt_z16_Cn_FZy_M00f555_ZB
DepthFmt_z16_Cn_FZy_M00faaa
DepthFmt_z16_Cn_FZy_M00faaa_ZB
DepthFmt_z16_Cn_FZy_M00ffff
DepthFmt_z16_Cn_FZy_M00ffff_ZB
DepthFmt_z16_Cy_FZn_M00baae
DepthFmt_z16_Cy_FZn_M00c003
DepthFmt_z16_Cy_FZn_M00c558
DepthFmt_z16_Cy_FZn_M00caad
DepthFmt_z16_Cy_FZn_M00d002
DepthFmt_z16_Cy_FZn_M00d557
DepthFmt_z16_Cy_FZn_M00daac
DepthFmt_z16_Cy_FZn_M00e001
DepthFmt_z16_Cy_FZn_M00e556
DepthFmt_z16_Cy_FZn_M00eaab
DepthFmt_z16_Cy_FZn_M00f000
DepthFmt_z16_Cy_FZn_M00f555
DepthFmt_z16_Cy_FZn_M00faaa
DepthFmt_z16_Cy_FZn_M00ffff
DepthFmt_z16_Cy_FZy_M00000f
DepthFmt_z16_Cy_FZy_M00000f_ZB
DepthFmt_z16_Cy_FZy_M000564
DepthFmt_z16_Cy_FZy_M000564_ZB
DepthFmt_z16_Cy_FZy_M000ab9
DepthFmt_z16_Cy_FZy_M000ab9_ZB
DepthFmt_z16_Cy_FZy_M00100e
DepthFmt_z16_Cy_FZy_M00100e_ZB
DepthFmt_z16_Cy_FZy_M001563
DepthFmt_z16_Cy_FZy_M001563_ZB
DepthFmt_z16_Cy_FZy_M001ab8
DepthFmt_z16_Cy_FZy_M001ab8_ZB
DepthFmt_z16_Cy_FZy_M00200d
DepthFmt_z16_Cy_FZy_M00200d_ZB
DepthFmt_z16_Cy_FZy_M002562
DepthFmt_z16_Cy_FZy_M002562_ZB
DepthFmt_z16_Cy_FZy_M002ab7
DepthFmt_z16_Cy_FZy_M002ab7_ZB
DepthFmt_z16_Cy_FZy_M00300c
DepthFmt_z16_Cy_FZy_M00300c_ZB
DepthFmt_z16_Cy_FZy_M003561_ZB
DepthFmt_z16_Cy_FZy_M003ab6
DepthFmt_z16_Cy_FZy_M003ab6_ZB
DepthFmt_z16_Cy_FZy_M00400b
DepthFmt_z16_Cy_FZy_M00400b_ZB
DepthFmt_z16_Cy_FZy_M004560
DepthFmt_z16_Cy_FZy_M004560_ZB
DepthFmt_z16_Cy_FZy_M004ab5_ZB
DepthFmt_z16_Cy_FZy_M00500a
DepthFmt_z16_Cy_FZy_M00500a_ZB
DepthFmt_z16_Cy_FZy_M00555f_ZB
DepthFmt_z16_Cy_FZy_M005ab4
DepthFmt_z16_Cy_FZy_M005ab4_ZB
DepthFmt_z16_Cy_FZy_M006009_ZB
DepthFmt_z16_Cy_FZy_M00655e_ZB
DepthFmt_z16_Cy_FZy_M006ab3_ZB
DepthFmt_z16_Cy_FZy_M007008_ZB
DepthFmt_z16_Cy_FZy_M00755d_ZB
DepthFmt_z16_Cy_FZy_M007ab2_ZB
DepthFmt_z16_Cy_FZy_M008007_ZB
DepthFmt_z16_Cy_FZy_M00855c_ZB
DepthFmt_z16_Cy_FZy_M008ab1_ZB
DepthFmt_z16_Cy_FZy_M009006_ZB
DepthFmt_z16_Cy_FZy_M00955b_ZB
DepthFmt_z16_Cy_FZy_M009ab0_ZB
DepthFmt_z16_Cy_FZy_M00a005_ZB
DepthFmt_z16_Cy_FZy_M00a55a_ZB
DepthFmt_z16_Cy_FZy_M00aaaf_ZB
DepthFmt_z16_Cy_FZy_M00b004_ZB
DepthFmt_z16_Cy_FZy_M00b559_ZB
DepthFmt_z16_Cy_FZy_M00baae_ZB
DepthFmt_z16_Cy_FZy_M00c003_ZB
DepthFmt_z16_Cy_FZy_M00c558_ZB
DepthFmt_z16_Cy_FZy_M00caad_ZB
DepthFmt_z16_Cy_FZy_M00d002_ZB
DepthFmt_z16_Cy_FZy_M00d557_ZB
DepthFmt_z16_Cy_FZy_M00daac
DepthFmt_z16_Cy_FZy_M00daac_ZB
DepthFmt_z16_Cy_FZy_M00e001
DepthFmt_z16_Cy_FZy_M00e001_ZB
DepthFmt_z16_Cy_FZy_M00e556
DepthFmt_z16_Cy_FZy_M00e556_ZB
DepthFmt_z16_Cy_FZy_M00eaab
DepthFmt_z16_Cy_FZy_M00eaab_ZB
DepthFmt_z16_Cy_FZy_M00f000
DepthFmt_z16_Cy_FZy_M00f000_ZB
DepthFmt_z16_Cy_FZy_M00f555
DepthFmt_z16_Cy_FZy_M00f555_ZB
DepthFmt_z16_Cy_FZy_M00faaa
DepthFmt_z16_Cy_FZy_M00faaa_ZB
DepthFmt_z16_Cy_FZy_M00ffff
DepthFmt_z16_Cy_FZy_M00ffff_ZB
DepthFmt_z24_Cn_FZn_Mbaaaae
DepthFmt_z24_Cn_FZn_Mc00003
DepthFmt_z24_Cn_FZn_Mc55558
DepthFmt_z24_Cn_FZn_Mcaaaad
DepthFmt_z24_Cn_FZn_Md00002
DepthFmt_z24_Cn_FZn_Md55557
DepthFmt_z24_Cn_FZn_Mdaaaac
DepthFmt_z24_Cn_FZn_Me00001
DepthFmt_z24_Cn_FZn_Me55556
DepthFmt_z24_Cn_FZn_Meaaaab
DepthFmt_z24_Cn_FZn_Mf00000
DepthFmt_z24_Cn_FZn_Mf55555
DepthFmt_z24_Cn_FZn_Mfaaaaa
DepthFmt_z24_Cn_FZn_Mffffff
DepthFmt_z24_Cn_FZy_M00002f
DepthFmt_z24_Cn_FZy_M05502e
DepthFmt_z24_Cn_FZy_M05502e_ZB
DepthFmt_z24_Cn_FZy_M0aa02d
DepthFmt_z24_Cn_FZy_M0aa02d_ZB
DepthFmt_z24_Cn_FZy_M0ff02c
DepthFmt_z24_Cn_FZy_M0ff02c_ZB
DepthFmt_z24_Cn_FZy_M15402b
DepthFmt_z24_Cn_FZy_M15402b_ZB
DepthFmt_z24_Cn_FZy_M1a902a
DepthFmt_z24_Cn_FZy_M1a902a_ZB
DepthFmt_z24_Cn_FZy_M1fe029
DepthFmt_z24_Cn_FZy_M1fe029_ZB
DepthFmt_z24_Cn_FZy_M253028
DepthFmt_z24_Cn_FZy_M253028_ZB
DepthFmt_z24_Cn_FZy_M2a8027
DepthFmt_z24_Cn_FZy_M2a8027_ZB
DepthFmt_z24_Cn_FZy_M2fd026
DepthFmt_z24_Cn_FZy_M2fd026_ZB
DepthFmt_z24_Cn_FZy_M352025
DepthFmt_z24_Cn_FZy_M352025_ZB
DepthFmt_z24_Cn_FZy_M3a7024
DepthFmt_z24_Cn_FZy_M3a7024_ZB
DepthFmt_z24_Cn_FZy_M3fc023
DepthFmt_z24_Cn_FZy_M3fc023_ZB
DepthFmt_z24_Cn_FZy_M451022
DepthFmt_z24_Cn_FZy_M451022_ZB
DepthFmt_z24_Cn_FZy_M4a6021
DepthFmt_z24_Cn_FZy_M4a6021_ZB
DepthFmt_z24_Cn_FZy_M4fb020
DepthFmt_z24_Cn_FZy_M4fb020_ZB
DepthFmt_z24_Cn_FZy_M55001f
DepthFmt_z24_Cn_FZy_M55001f_ZB
DepthFmt_z24_Cn_FZy_M5a501e
DepthFmt_z24_Cn_FZy_M5a501e_ZB
DepthFmt_z24_Cn_FZy_M5fa01d
DepthFmt_z24_Cn_FZy_M5fa01d_ZB
DepthFmt_z24_Cn_FZy_M64f01c
DepthFmt_z24_Cn_FZy_M64f01c_ZB
DepthFmt_z24_Cn_FZy_M6a401b
DepthFmt_z24_Cn_FZy_M6a401b_ZB
DepthFmt_z24_Cn_FZy_M6f901a
DepthFmt_z24_Cn_FZy_M6f901a_ZB
DepthFmt_z24_Cn_FZy_M74e019
DepthFmt_z24_Cn_FZy_M74e019_ZB
DepthFmt_z24_Cn_FZy_M7a3018
DepthFmt_z24_Cn_FZy_M7a3018_ZB
DepthFmt_z24_Cn_FZy_M7f8017
DepthFmt_z24_Cn_FZy_M7f8017_ZB
DepthFmt_z24_Cn_FZy_M84d016
DepthFmt_z24_Cn_FZy_M84d016_ZB
DepthFmt_z24_Cn_FZy_M8a2015
DepthFmt_z24_Cn_FZy_M8a2015_ZB
DepthFmt_z24_Cn_FZy_M8f7014
DepthFmt_z24_Cn_FZy_M8f7014_ZB
DepthFmt_z24_Cn_FZy_M94c013
DepthFmt_z24_Cn_FZy_M94c013_ZB
DepthFmt_z24_Cn_FZy_M9a1012
DepthFmt_z24_Cn_FZy_M9a1012_ZB
DepthFmt_z24_Cn_FZy_M9f6011
DepthFmt_z24_Cn_FZy_M9f6011_ZB
DepthFmt_z24_Cn_FZy_Ma4b010
DepthFmt_z24_Cn_FZy_Ma4b010_ZB
DepthFmt_z24_Cn_FZy_Maa000f
DepthFmt_z24_Cn_FZy_Maa000f_ZB
DepthFmt_z24_Cn_FZy_Maf500e
DepthFmt_z24_Cn_FZy_Maf500e_ZB
DepthFmt_z24_Cn_FZy_Mb4a00d
DepthFmt_z24_Cn_FZy_Mb4a00d_ZB
DepthFmt_z24_Cn_FZy_Mb9f00c
DepthFmt_z24_Cn_FZy_Mb9f00c_ZB
DepthFmt_z24_Cn_FZy_Mbf400b
DepthFmt_z24_Cn_FZy_Mbf400b_ZB
DepthFmt_z24_Cn_FZy_Mc4900a
DepthFmt_z24_Cn_FZy_Mc4900a_ZB
DepthFmt_z24_Cn_FZy_Mc9e009_ZB
DepthFmt_z24_Cn_FZy_Mcf3008_ZB
DepthFmt_z24_Cn_FZy_Md48007_ZB
DepthFmt_z24_Cn_FZy_Md9d006_ZB
DepthFmt_z24_Cn_FZy_Mdf2005_ZB
DepthFmt_z24_Cn_FZy_Me47004_ZB
DepthFmt_z24_Cn_FZy_Me9c003_ZB
DepthFmt_z24_Cn_FZy_Mef1002_ZB
DepthFmt_z24_Cn_FZy_Mf46001_ZB
DepthFmt_z24_Cn_FZy_Mf9b000_ZB
DepthFmt_z24_Cn_FZy_Mfeffff_ZB
DepthFmt_z24_Cy_FZn_Mbaaaae
DepthFmt_z24_Cy_FZn_Mc00003
DepthFmt_z24_Cy_FZn_Mc55558
DepthFmt_z24_Cy_FZn_Mcaaaad
DepthFmt_z24_Cy_FZn_Md00002
DepthFmt_z24_Cy_FZn_Md55557
DepthFmt_z24_Cy_FZn_Mdaaaac
DepthFmt_z24_Cy_FZn_Me00001
DepthFmt_z24_Cy_FZn_Me55556
DepthFmt_z24_Cy_FZn_Meaaaab
DepthFmt_z24_Cy_FZn_Mf00000
DepthFmt_z24_Cy_FZn_Mf55555
DepthFmt_z24_Cy_FZn_Mfaaaaa
DepthFmt_z24_Cy_FZn_Mffffff
DepthFmt_z24_Cy_FZy_M00002f
DepthFmt_z24_Cy_FZy_M05502e
DepthFmt_z24_Cy_FZy_M05502e_ZB
DepthFmt_z24_Cy_FZy_M0aa02d
DepthFmt_z24_Cy_FZy_M0aa02d_ZB
DepthFmt_z24_Cy_FZy_M0ff02c
DepthFmt_z24_Cy_FZy_M0ff02c_ZB
DepthFmt_z24_Cy_FZy_M15402b
DepthFmt_z24_Cy_FZy_M15402b_ZB
DepthFmt_z24_Cy_FZy_M1a902a
DepthFmt_z24_Cy_FZy_M1a902a_ZB
DepthFmt_z24_Cy_FZy_M1fe029
DepthFmt_z24_Cy_FZy_M1fe029_ZB
DepthFmt_z24_Cy_FZy_M253028
DepthFmt_z24_Cy_FZy_M253028_ZB
DepthFmt_z24_Cy_FZy_M2a8027
DepthFmt_z24_Cy_FZy_M2a8027_ZB
DepthFmt_z24_Cy_FZy_M2fd026
DepthFmt_z24_Cy_FZy_M2fd026_ZB
DepthFmt_z24_Cy_FZy_M352025
DepthFmt_z24_Cy_FZy_M352025_ZB
DepthFmt_z24_Cy_FZy_M3a7024
DepthFmt_z24_Cy_FZy_M3a7024_ZB
DepthFmt_z24_Cy_FZy_M3fc023
DepthFmt_z24_Cy_FZy_M3fc023_ZB
DepthFmt_z24_Cy_FZy_M451022
DepthFmt_z24_Cy_FZy_M451022_ZB
DepthFmt_z24_Cy_FZy_M4a6021
DepthFmt_z24_Cy_FZy_M4a6021_ZB
DepthFmt_z24_Cy_FZy_M4fb020
DepthFmt_z24_Cy_FZy_M4fb020_ZB
DepthFmt_z24_Cy_FZy_M55001f
DepthFmt_z24_Cy_FZy_M55001f_ZB
DepthFmt_z24_Cy_FZy_M5a501e
DepthFmt_z24_Cy_FZy_M5a501e_ZB
DepthFmt_z24_Cy_FZy_M5fa01d
DepthFmt_z24_Cy_FZy_M5fa01d_ZB
DepthFmt_z24_Cy_FZy_M64f01c
DepthFmt_z24_Cy_FZy_M64f01c_ZB
DepthFmt_z24_Cy_FZy_M6a401b
DepthFmt_z24_Cy_FZy_M6a401b_ZB
DepthFmt_z24_Cy_FZy_M6f901a
DepthFmt_z24_Cy_FZy_M6f901a_ZB
DepthFmt_z24_Cy_FZy_M74e019
DepthFmt_z24_Cy_FZy_M74e019_ZB
DepthFmt_z24_Cy_FZy_M7a3018
DepthFmt_z24_Cy_FZy_M7a3018_ZB
DepthFmt_z24_Cy_FZy_M7f8017
DepthFmt_z24_Cy_FZy_M7f8017_ZB
DepthFmt_z24_Cy_FZy_M84d016
DepthFmt_z24_Cy_FZy_M84d016_ZB
DepthFmt_z24_Cy_FZy_M8a2015
DepthFmt_z24_Cy_FZy_M8a2015_ZB
DepthFmt_z24_Cy_FZy_M8f7014
DepthFmt_z24_Cy_FZy_M8f7014_ZB
DepthFmt_z24_Cy_FZy_M94c013
DepthFmt_z24_Cy_FZy_M94c013_ZB
DepthFmt_z24_Cy_FZy_M9a1012
DepthFmt_z24_Cy_FZy_M9a1012_ZB
DepthFmt_z24_Cy_FZy_M9f6011
DepthFmt_z24_Cy_FZy_M9f6011_ZB
DepthFmt_z24_Cy_FZy_Ma4b010
DepthFmt_z24_Cy_FZy_Ma4b010_ZB
DepthFmt_z24_Cy_FZy_Maa000f
DepthFmt_z24_Cy_FZy_Maa000f_ZB
DepthFmt_z24_Cy_FZy_Maf500e
DepthFmt_z24_Cy_FZy_Maf500e_ZB
DepthFmt_z24_Cy_FZy_Mb4a00d
DepthFmt_z24_Cy_FZy_Mb4a00d_ZB
DepthFmt_z24_Cy_FZy_Mb9f00c
DepthFmt_z24_Cy_FZy_Mb9f00c_ZB
DepthFmt_z24_Cy_FZy_Mbf400b
DepthFmt_z24_Cy_FZy_Mbf400b_ZB
DepthFmt_z24_Cy_FZy_Mc4900a
DepthFmt_z24_Cy_FZy_Mc4900a_ZB
DepthFmt_z24_Cy_FZy_Mc9e009_ZB
DepthFmt_z24_Cy_FZy_Mcf3008_ZB
DepthFmt_z24_Cy_FZy_Md48007_ZB
DepthFmt_z24_Cy_FZy_Md9d006_ZB
DepthFmt_z24_Cy_FZy_Mdf2005_ZB
DepthFmt_z24_Cy_FZy_Me47004_ZB
DepthFmt_z24_Cy_FZy_Me9c003_ZB
DepthFmt_z24_Cy_FZy_Mef1002_ZB
DepthFmt_z24_Cy_FZy_Mf46001_ZB
DepthFmt_z24_Cy_FZy_Mf9b000_ZB
DepthFmt_z24_Cy_FZy_Mfeffff_ZB
Depth_buffer_fixed_function
z16_Cn_FZn_M00ffff
z16_Cn_FZn_M00ffff_ZB
z16_Cn_FZy_M000003_ZB
z16_Cn_FZy_M004002_ZB
z16_Cn_FZy_M008001_ZB
z16_Cn_FZy_M00c000_ZB
z16_Cn_FZy_M00ffff
z16_Cn_FZy_M00ffff_ZB
z16_Cy_FZn_M00ffff
z16_Cy_FZn_M00ffff_ZB
z16_Cy_FZy_M000003_ZB
z16_Cy_FZy_M004002_ZB
z16_Cy_FZy_M008001_ZB
z16_Cy_FZy_M00c000_ZB
z16_Cy_FZy_M00ffff
z16_Cy_FZy_M00ffff_ZB
z24_Cn_FZn_Mffffff
z24_Cn_FZn_Mffffff_ZB
z24_Cn_FZy_M3fc002_ZB
z24_Cn_FZy_M7f8001_ZB
z24_Cn_FZy_Mbf4000_ZB
z24_Cy_FZn_Mffffff
z24_Cy_FZn_Mffffff_ZB
z24_Cy_FZy_M3fc002_ZB
z24_Cy_FZy_M7f8001_ZB
z24_Cy_FZy_Mbf4000_ZB
DMA_corruption_around_surfaces
xemuReadFromFileIntoSurface
Edge_flag
Disabled
Enabled
Fog
AFF-exp-planar
AFF-exp2-planar
AFF-exp2_abs-planar
AFF-exp_abs-planar
AFF-linear_abs-planar
Fog_carryover
CarryoverLineLoop
Renders a series of primitives using various draw modes on the left, setting fog coordinates. Then renders a quad using the same draw mode on the right without specifying a fog coordinate at all. The fog mode is set to EXP.
CarryoverLines
Renders a series of primitives using various draw modes on the left, setting fog coordinates. Then renders a quad using the same draw mode on the right without specifying a fog coordinate at all. The fog mode is set to EXP.
CarryoverLineStrip
Renders a series of primitives using various draw modes on the left, setting fog coordinates. Then renders a quad using the same draw mode on the right without specifying a fog coordinate at all. The fog mode is set to EXP.
CarryoverPoints
Renders a series of primitives using various draw modes on the left, setting fog coordinates. Then renders a quad using the same draw mode on the right without specifying a fog coordinate at all. The fog mode is set to EXP.
CarryoverPoly
Renders a series of primitives using various draw modes on the left, setting fog coordinates. Then renders a quad using the same draw mode on the right without specifying a fog coordinate at all. The fog mode is set to EXP.
CarryoverQuads
Renders a series of primitives using various draw modes on the left, setting fog coordinates. Then renders a quad using the same draw mode on the right without specifying a fog coordinate at all. The fog mode is set to EXP.
CarryoverQuadStrip
Renders a series of primitives using various draw modes on the left, setting fog coordinates. Then renders a quad using the same draw mode on the right without specifying a fog coordinate at all. The fog mode is set to EXP.
CarryoverTriFan
Renders a series of primitives using various draw modes on the left, setting fog coordinates. Then renders a quad using the same draw mode on the right without specifying a fog coordinate at all. The fog mode is set to EXP.
CarryoverTris
Renders a series of primitives using various draw modes on the left, setting fog coordinates. Then renders a quad using the same draw mode on the right without specifying a fog coordinate at all. The fog mode is set to EXP.
CarryoverTriStrip
Renders a series of primitives using various draw modes on the left, setting fog coordinates. Then renders a quad using the same draw mode on the right without specifying a fog coordinate at all. The fog mode is set to EXP.
FogCarryover
The left column triangles are rendered with the fog coordinate explicitly passed through from the vertex by the shader. The right column triangles do not specify the fog coordinate at all.
Fog_coord_vec4
CoordNotSet
Fog_exceptional_value
FogExc-exp-abs_planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR.
FogExc-exp-fog_x
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X.
FogExc-exp-planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR.
FogExc-exp-spec_alpha
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA.
FogExc-exp2-abs_planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2 and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR.
FogExc-exp2-fog_x
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2 and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X.
FogExc-exp2-planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2 and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR.
FogExc-exp2-spec_alpha
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2 and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA.
FogExc-exp2_abs-abs_planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR.
FogExc-exp2_abs-fog_x
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X.
FogExc-exp2_abs-planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR.
FogExc-exp2_abs-spec_alpha
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA.
FogExc-exp_abs-abs_planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR.
FogExc-exp_abs-fog_x
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X.
FogExc-exp_abs-planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR.
FogExc-exp_abs-spec_alpha
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA.
FogExc-linear-abs_planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR.
FogExc-linear-fog_x
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X.
FogExc-linear-planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR.
FogExc-linear-spec_alpha
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA.
FogExc-linear_abs-abs_planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR.
FogExc-linear_abs-fog_x
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X.
FogExc-linear_abs-planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR.
FogExc-linear_abs-spec_alpha
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA.
INF-FogExc-exp-abs_planar
INF-FogExc-exp-fog_x
INF-FogExc-exp-planar
INF-FogExc-exp-spec_alpha
INF-FogExc-exp2-abs_planar
INF-FogExc-exp2-fog_x
INF-FogExc-exp2-planar
INF-FogExc-exp2-spec_alpha
INF-FogExc-exp2_abs-abs_planar
INF-FogExc-exp2_abs-fog_x
INF-FogExc-exp2_abs-planar
INF-FogExc-exp2_abs-spec_alpha
INF-FogExc-exp_abs-abs_planar
INF-FogExc-exp_abs-fog_x
INF-FogExc-exp_abs-planar
INF-FogExc-exp_abs-spec_alpha
INF-FogExc-linear-abs_planar
INF-FogExc-linear-fog_x
INF-FogExc-linear-planar
INF-FogExc-linear-spec_alpha
INF-FogExc-linear_abs-abs_planar
INF-FogExc-linear_abs-fog_x
INF-FogExc-linear_abs-planar
INF-FogExc-linear_abs-spec_alpha
NaN-FogExc-exp-abs_planar
Tests NaN fog value with fog mode NV097_SET_FOG_MODE_V_EXP and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR. The bias param is listed on the right edge of the screen and the multiplier above each quad.
NaN-FogExc-exp-fog_x
Tests NaN fog value with fog mode NV097_SET_FOG_MODE_V_EXP and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X. The bias param is listed on the right edge of the screen and the multiplier above each quad.
NaN-FogExc-exp-planar
Tests NaN fog value with fog mode NV097_SET_FOG_MODE_V_EXP and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR. The bias param is listed on the right edge of the screen and the multiplier above each quad.
NaN-FogExc-exp-spec_alpha
Tests NaN fog value with fog mode NV097_SET_FOG_MODE_V_EXP and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA. The bias param is listed on the right edge of the screen and the multiplier above each quad.
NaN-FogExc-linear-abs_planar
Tests NaN fog value with fog mode NV097_SET_FOG_MODE_V_LINEAR and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR. The bias param is listed on the right edge of the screen and the multiplier above each quad.
NaN-FogExc-linear-fog_x
Tests NaN fog value with fog mode NV097_SET_FOG_MODE_V_LINEAR and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X. The bias param is listed on the right edge of the screen and the multiplier above each quad.
NaN-FogExc-linear-planar
Tests NaN fog value with fog mode NV097_SET_FOG_MODE_V_LINEAR and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR. The bias param is listed on the right edge of the screen and the multiplier above each quad.
NaN-FogExc-linear-spec_alpha
Tests NaN fog value with fog mode NV097_SET_FOG_MODE_V_LINEAR and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA. The bias param is listed on the right edge of the screen and the multiplier above each quad.
NaN-FogExc-linear_abs-abs_planar
Tests NaN fog value with fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR. The bias param is listed on the right edge of the screen and the multiplier above each quad.
NaN-FogExc-linear_abs-fog_x
Tests NaN fog value with fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X. The bias param is listed on the right edge of the screen and the multiplier above each quad.
NaN-FogExc-linear_abs-planar
Tests NaN fog value with fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR. The bias param is listed on the right edge of the screen and the multiplier above each quad.
NaN-FogExc-linear_abs-spec_alpha
Tests NaN fog value with fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA. The bias param is listed on the right edge of the screen and the multiplier above each quad.
RCP-FogExc-exp-abs_planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp-fog_x
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp-planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp-spec_alpha
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp2-abs_planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2 and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp2-fog_x
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2 and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp2-planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2 and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp2-spec_alpha
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2 and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp2_abs-abs_planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp2_abs-fog_x
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp2_abs-planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp2_abs-spec_alpha
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP2_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp_abs-abs_planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp_abs-fog_x
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp_abs-planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-exp_abs-spec_alpha
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_EXP_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-linear-abs_planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-linear-fog_x
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-linear-planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-linear-spec_alpha
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-linear_abs-abs_planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_ABS_PLANAR. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-linear_abs-fog_x
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_FOG_X. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-linear_abs-planar
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_PLANAR. The vertex shader uses RCP to determine the fog value.
RCP-FogExc-linear_abs-spec_alpha
Tests various fog values with fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS and fog generation mode NV097_SET_FOG_GEN_MODE_V_SPEC_ALPHA. The vertex shader uses RCP to determine the fog value.
Fog_gen
FogGen_FF-exp-spec_alpha
FogGen_FF-exp2_abs-spec_alpha
FogGen_FF-exp_abs-fog_x
FogGen_FF-exp_abs-spec_alpha
FogGen_FF-linear_abs-abs_planar
FogGen_FF-linear_abs-fog_x
FogGen_FF-linear_abs-planar
FogGen_FF-linear_abs-spec_alpha
FogGen_VS-exp-radial
FogGen_VS-exp2-radial
FogGen_VS-exp2_abs-radial
FogGen_VS-exp_abs-abs_planar
FogGen_VS-exp_abs-fog_x
FogGen_VS-exp_abs-planar
FogGen_VS-exp_abs-radial
FogGen_VS-exp_abs-spec_alpha
FogGen_VS-linear-radial
FogGen_VS-linear_abs-abs_planar
FogGen_VS-linear_abs-fog_x
FogGen_VS-linear_abs-planar
FogGen_VS-linear_abs-radial
FogGen_VS-linear_abs-spec_alpha
Fog_param
FogParam-0.25-exp
Tests fog mode NV097_SET_FOG_MODE_V_EXP with the bias param set to the zero point for the type and the multiplier set to -0.25. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-0.25-exp_abs
Tests fog mode NV097_SET_FOG_MODE_V_EXP_ABS with the bias param set to the zero point for the type and the multiplier set to -0.25. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-0.25-lin
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR with the bias param set to the zero point for the type and the multiplier set to -0.25. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-0.25-lin_abs
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS with the bias param set to the zero point for the type and the multiplier set to -0.25. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-0.50-exp
Tests fog mode NV097_SET_FOG_MODE_V_EXP with the bias param set to the zero point for the type and the multiplier set to -0.50. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-0.50-exp_abs
Tests fog mode NV097_SET_FOG_MODE_V_EXP_ABS with the bias param set to the zero point for the type and the multiplier set to -0.50. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-0.50-lin
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR with the bias param set to the zero point for the type and the multiplier set to -0.50. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-0.50-lin_abs
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS with the bias param set to the zero point for the type and the multiplier set to -0.50. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-1.00-exp
Tests fog mode NV097_SET_FOG_MODE_V_EXP with the bias param set to the zero point for the type and the multiplier set to -1.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-1.00-exp_abs
Tests fog mode NV097_SET_FOG_MODE_V_EXP_ABS with the bias param set to the zero point for the type and the multiplier set to -1.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-1.00-lin
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR with the bias param set to the zero point for the type and the multiplier set to -1.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-1.00-lin_abs
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS with the bias param set to the zero point for the type and the multiplier set to -1.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-2.00-exp
Tests fog mode NV097_SET_FOG_MODE_V_EXP with the bias param set to the zero point for the type and the multiplier set to -2.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-2.00-exp_abs
Tests fog mode NV097_SET_FOG_MODE_V_EXP_ABS with the bias param set to the zero point for the type and the multiplier set to -2.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam-2.00-lin_abs
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS with the bias param set to the zero point for the type and the multiplier set to -2.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam0.25-exp
Tests fog mode NV097_SET_FOG_MODE_V_EXP with the bias param set to the zero point for the type and the multiplier set to 0.25. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam0.25-exp_abs
Tests fog mode NV097_SET_FOG_MODE_V_EXP_ABS with the bias param set to the zero point for the type and the multiplier set to 0.25. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam0.25-lin
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR with the bias param set to the zero point for the type and the multiplier set to 0.25. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam0.25-lin_abs
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS with the bias param set to the zero point for the type and the multiplier set to 0.25. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam0.50-exp
Tests fog mode NV097_SET_FOG_MODE_V_EXP with the bias param set to the zero point for the type and the multiplier set to 0.50. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam0.50-exp_abs
Tests fog mode NV097_SET_FOG_MODE_V_EXP_ABS with the bias param set to the zero point for the type and the multiplier set to 0.50. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam0.50-lin
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR with the bias param set to the zero point for the type and the multiplier set to 0.50. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam0.50-lin_abs
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS with the bias param set to the zero point for the type and the multiplier set to 0.50. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam1.00-exp
Tests fog mode NV097_SET_FOG_MODE_V_EXP with the bias param set to the zero point for the type and the multiplier set to 1.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam1.00-exp_abs
Tests fog mode NV097_SET_FOG_MODE_V_EXP_ABS with the bias param set to the zero point for the type and the multiplier set to 1.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam1.00-lin
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR with the bias param set to the zero point for the type and the multiplier set to 1.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam1.00-lin_abs
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS with the bias param set to the zero point for the type and the multiplier set to 1.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam2.00-exp
Tests fog mode NV097_SET_FOG_MODE_V_EXP with the bias param set to the zero point for the type and the multiplier set to 2.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam2.00-exp_abs
Tests fog mode NV097_SET_FOG_MODE_V_EXP_ABS with the bias param set to the zero point for the type and the multiplier set to 2.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogParam2.00-lin_abs
Tests fog mode NV097_SET_FOG_MODE_V_LINEAR_ABS with the bias param set to the zero point for the type and the multiplier set to 2.0. Quads are rendered with fog coordinates starting at -1.4 and increasing by 0.01 per quad.
FogZeroBias-exp
Tests the bias parameter for NV097_SET_FOG_MODE_V_EXP. Renders a series of quads and increments the bias fog param by 0.005 for each, starting at 1.0. The multiplier params are set to 0 so the fog coord (1.0) is irrelevant.
FogZeroBias-exp2
Tests the bias parameter for NV097_SET_FOG_MODE_V_EXP2. Renders a series of quads and increments the bias fog param by 0.005 for each, starting at 1.0. The multiplier params are set to 0 so the fog coord (1.0) is irrelevant.
FogZeroBias-exp2_abs
Tests the bias parameter for NV097_SET_FOG_MODE_V_EXP2_ABS. Renders a series of quads and increments the bias fog param by 0.005 for each, starting at 1.0. The multiplier params are set to 0 so the fog coord (1.0) is irrelevant.
FogZeroBias-exp_abs
Tests the bias parameter for NV097_SET_FOG_MODE_V_EXP_ABS. Renders a series of quads and increments the bias fog param by 0.005 for each, starting at 1.0. The multiplier params are set to 0 so the fog coord (1.0) is irrelevant.
Fog_vsh
AFF-exp-planar
AFF-exp2-planar
AFF-exp2_abs-planar
AFF-exp_abs-planar
AFF-linear_abs-planar
Front_face
FrontFace_0x00_CF_B
FrontFace_0x00_CF_F
FrontFace_0x63_CF_B
FrontFace_0x63_CF_F
FrontFace_CCW_CF_B
FrontFace_CCW_CF_F
FrontFace_CW_CF_B
FrontFace_CW_CF_F
FrontFace_FM_0x00_CF_B
FrontFace_FM_0x00_CF_F
FrontFace_FM_0x00_CF_FaB
FrontFace_FM_0x63_CF_B
FrontFace_FM_0x63_CF_F
FrontFace_FM_0x63_CF_FaB
FrontFace_FM_CCW_CF_B
Sets the winding to counter-clockwise with back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Only the left quad should be rendered.
FrontFace_FM_CCW_CF_F
Sets the winding to counter-clockwise with front faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Only the right quad should be rendered.
FrontFace_FM_CCW_CF_FaB
Sets the winding to counter-clockwise with front and back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Neither quad should be rendered.
FrontFace_FM_CW_CF_B
Sets the winding to clockwise with back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CCW. Only the right quad should be rendered.
FrontFace_FM_CW_CF_F
Sets the winding to clockwise with front faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CCW. Only the left quad should be rendered.
FrontFace_FM_CW_CF_FaB
Sets the winding to clockwise with front and back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CCW. Neither quad should be rendered.
FrontFace_LM_0x00_CF_B
FrontFace_LM_0x00_CF_F
FrontFace_LM_0x00_CF_FaB
FrontFace_LM_0x63_CF_B
FrontFace_LM_0x63_CF_F
FrontFace_LM_0x63_CF_FaB
FrontFace_LM_CCW_CF_B
Sets the winding to counter-clockwise with back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Only the left quad should be rendered. Polygons are not filled.
FrontFace_LM_CCW_CF_F
Sets the winding to counter-clockwise with front faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Only the right quad should be rendered. Polygons are not filled.
FrontFace_LM_CCW_CF_FaB
Sets the winding to counter-clockwise with front and back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CW. Neither quad should be rendered. Polygons are not filled.
FrontFace_LM_CW_CF_B
Sets the winding to clockwise with back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CCW. Only the right quad should be rendered. Polygons are not filled.
FrontFace_LM_CW_CF_F
Sets the winding to clockwise with front faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CCW. Only the left quad should be rendered. Polygons are not filled.
FrontFace_LM_CW_CF_FaB
Sets the winding to clockwise with front and back faces culled. Prior to starting the test, NV097_SET_FRONT_FACE is set to CCW. Neither quad should be rendered. Polygons are not filled.
Image_blit
BlitBeyondWidth
Demonstrates the interaction between 0x9F image blit operations and assigned GPU tiles. A blit operation is configured with a target smaller than the source. The target address is set within an active GPU tile such that the blit would extend beyond the end of the tile and a guard value is tested to prove that the blit is clipped to stay within the tile. A similar blit is performed outside of the tile, demonstrating that unprotected blits may overdraw the target region.
DirtyOverlappedDestSurf
Performs a 3d render into the backbuffer, then a 2D srccopy that completely overwrites it. Finally performs another 3d render, demonstrating incorrect behavior in various versions of xemu.
ImgBlt_Clip_300_200_16_24
ImgBlt_Clip_320_240_0_0
ImgBlt_Clip_320_240_0_10
ImgBlt_Clip_320_240_1_1
ImgBlt_Clip_320_240_640_480
ImgBlt_Clip_320_240_64_40
OverlapFIFO
Demonstrates that image blits overlapping the pushbuffer are performed without issue on HW. A blit copying the test image over the current pushbuffer write address is queued, followed by a blit copying the data from there to the screen. This is flushed to the HW, along with a wait until the pushbuffer is fully consumed. Failure to wait demonstrates a race between the blits and subsequent instructions, generally leading to some corruption near the top of the image.
Inline_array_size_mismatch
ExtraElements
Lighting_accumulation
All
Directional-2
Directional-4
Directional-5
Point-2
Point-4
Point-5
Spot-2
Spot-4
Spot-5
Lighting_control
FF_0x000000
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED on. Separate specular is off, causing the green of the mesh specular to be retained. Localeye is off, using a simplified model for specular highlighting, causing artifacts for the point light on the cylinder mesh. Light control alpha is forced to opaque.
FF_0x000000NoSpec
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED off. Separate specular is ignored because SPECULAR_ENABLED is off, so the green of the mesh specular is not seen. Localeye is off, using a simplified model for specular highlighting, causing artifacts for the point light on the cylinder mesh. Light control alpha is ignored and the mesh is forced to opaque because SPECULAR_ENABLED is off. Visually equivalent to FF_0x000001.
FF_0x000001
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED on. Separate specular is on, so the green of the mesh specular is not seen. Localeye is off, using a simplified model for specular highlighting, causing artifacts for the point light on the cylinder mesh. Light control alpha is forced to opaque.
FF_0x000001NoSpec
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED off. Separate specular is ignored because SPECULAR_ENABLED is off, so the green of the mesh specular is not seen. Localeye is off, using a simplified model for specular highlighting, causing artifacts for the point light on the cylinder mesh. Light control alpha is ignored and the mesh is forced to opaque because SPECULAR_ENABLED is off.
FF_0x010000
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED on. Separate specular is off, causing the green of the mesh specular to be retained. Localeye is on, using a slower model for specular highlighting that results in more realistic behavior for the point light on the cylinder mesh. Light control alpha is forced to opaque.
FF_0x010000NoSpec
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED off. Separate specular is ignored because SPECULAR_ENABLED is off, so the green of the mesh specular is not seen. Localeye is on, using a slower model for specular highlighting that results in more realistic behavior for the point light on the cylinder mesh. Light control alpha is ignored and the mesh is forced to opaque because SPECULAR_ENABLED is off.
FF_0x010001
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED on. Separate specular is on, so the green of the mesh specular is not seen. Localeye is on, using a slower model for specular highlighting that results in more realistic behavior for the point light on the cylinder mesh. Light control alpha is forced to opaque.
FF_0x010001NoSpec
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED off. Separate specular is ignored because SPECULAR_ENABLED is off, so the green of the mesh specular is not seen. Localeye is on, using a slower model for specular highlighting that results in more realistic behavior for the point light on the cylinder mesh. Light control alpha is ignored and the mesh is forced to opaque because SPECULAR_ENABLED is off.
FF_0x020000
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED on. Separate specular is off, causing the green of the mesh specular to be retained. Localeye is off, using a simplified model for specular highlighting, causing artifacts for the point light on the cylinder mesh. Light control alpha is set to compute the alpha from the specular and light effects, so the model is transluscent.
FF_0x020000NoSpec
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED off. Separate specular is ignored because SPECULAR_ENABLED is off, so the green of the mesh specular is not seen. Localeye is off, using a simplified model for specular highlighting, causing artifacts for the point light on the cylinder mesh. Light control alpha is ignored and the mesh is forced to opaque because SPECULAR_ENABLED is off.
FF_0x020001
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED on. Separate specular is on, so the green of the mesh specular is not seen. Localeye is off, using a simplified model for specular highlighting, causing artifacts for the point light on the cylinder mesh. Light control alpha is set to compute the alpha from the specular and light effects, so the model is transluscent.
FF_0x020001NoSpec
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED off. Separate specular is ignored because SPECULAR_ENABLED is off, so the green of the mesh specular is not seen. Localeye is off, using a simplified model for specular highlighting, causing artifacts for the point light on the cylinder mesh. Light control alpha is ignored and the mesh is forced to opaque because SPECULAR_ENABLED is off.
FF_0x030000
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED on. Separate specular is off, causing the green of the mesh specular to be retained. Localeye is on, using a slower model for specular highlighting that results in more realistic behavior for the point light on the cylinder mesh. Light control alpha is set to compute the alpha from the specular and light effects, so the model is transluscent.
FF_0x030000NoSpec
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED off. Separate specular is ignored because SPECULAR_ENABLED is off, so the green of the mesh specular is not seen. Localeye is on, using a slower model for specular highlighting that results in more realistic behavior for the point light on the cylinder mesh. Light control alpha is ignored and the mesh is forced to opaque because SPECULAR_ENABLED is off.
FF_0x030001
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED on. Separate specular is on, so the green of the mesh specular is not seen. Localeye is on, using a slower model for specular highlighting that results in more realistic behavior for the point light on the cylinder mesh. Light control alpha is set to compute the alpha from the specular and light effects, so the model is transluscent.
FF_0x030001NoSpec
Tests behavior using the fixed function pipeline with SET_SPECULAR_ENABLED off. Separate specular is ignored because SPECULAR_ENABLED is off, so the green of the mesh specular is not seen. Localeye is on, using a slower model for specular highlighting that results in more realistic behavior for the point light on the cylinder mesh. Light control alpha is ignored and the mesh is forced to opaque because SPECULAR_ENABLED is off.
Lighting_range
Directional
Tests behavior using the fixed function pipeline with a directional (infinite) light.
Point
Tests behavior using the fixed function pipeline with a point (local) light. Attenuation is set to 0 for the light, resulting in hard edges.
Spot
Tests behavior using the fixed function pipeline with a spotlight. Attenuation is set to 0 for the light, resulting in hard edges.
Lighting_spotlight
AtFixed_0.000000_0.000000_0.000000
AtFixed_0.050000_0.000000_0.250000
AtFixed_0.050000_0.050000_0.050000
AtFixed_0.050000_0.250000_0.000000
AtFixed_0.500000_0.000000_0.000000
AtFixed_1.000000_0.000000_0.000000
AtFixed_10.000000_0.000000_0.000000
AtFixed_2.000000_0.000000_0.000000
FoFixed_-0.000244_0.500122_0.499634
FoFixed_-0.170208_-0.855843_1.685635
FoFixed_-0.706496_-2.507095_2.800600
FoFixed_-0.932112_-3.097628_3.165516
FoFixed_-0.986137_-3.165117_3.178980
FoFixed_-0.993286_-2.953324_2.960038
FoFixed_-0.996561_-3.084043_3.087482
FoFixed_0.000000_-0.494592_1.494592
FoFixed_0.000000_0.000000_0.000000
FoFixed_0.000000_1.000000_0.000000
PTFixed_-10.000000_-10.000000
PTFixed_0.000000_0.000000
PTFixed_10.000000_10.000000
PTFixed_10.000000_25.000000
PTFixed_25.000000_0.000000
PTFixed_25.000000_5.000000
Lighting_Two_Sided
TwoSidedLighting
Line_width
Fill_0000.0
Fill_0001.0
Fill_0032.0
Line_0000.0
Line_0000.1
Line_0000.2
Line_0000.3
Line_0000.4
Line_0000.5
Line_0000.6
Line_0000.7
Line_0001.0
Line_0001.1
Line_0001.2
Line_0001.3
Line_0001.4
Line_0001.5
Line_0001.6
Line_0001.7
Line_0003.0
Line_0004.0
Line_0005.0
Line_0006.0
Line_0007.0
Line_0008.0
Line_0009.0
Line_0010.0
Line_0011.0
Line_0012.0
Line_0013.0
Line_0014.0
Line_0015.0
Line_0016.0
Line_0024.0
Line_0032.0
Line_0040.0
Line_0048.0
Line_0056.0
Line_0057.0
Line_0058.0
Line_0059.0
Line_0060.0
Line_0061.0
Line_0062.0
Line_0063.0
Line_0063.1
Line_0063.2
Line_0063.3
Line_0063.4
Line_0063.5
Line_0063.6
Line_0063.7
Line_0064.0
Line_0064.1
Line_0064.2
Line_0064.3
Line_0064.4
Line_0064.5
Line_0064.6
Line_0064.7
Line_FFFFFFFF
Material_alpha
MatA_SVDiffuse_A0
MatA_SVDiffuse_A3D4CCCCD
MatA_SVDiffuse_A3E800000
MatA_SVDiffuse_A3F000000
MatA_SVDiffuse_A3F400000
MatA_SVDiffuse_A3F800000
MatA_SVDiffuse_A40000000
MatA_SVDiffuse_ABF800000
Material_color_source
Emissive_me0
Draws 9 quads with combinations of emissive and ambient color taken from vertex diffuse and specular. The combinations in (emissive_src, ambient_src) format are: (D, D), (S, D), (D, S), (S, S), (M, S), (S, M), (M, D), (D, M), (M, M). Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (0, 0, 0).
Emissive_me0_15
Emissive_me0_5
Emissive_me1_0
FromMaterial
Draws 9 quads with all colors taken from the material settings. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0.
FromMaterial_2light
Draws 9 quads with all colors taken from the material settings. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. There are two lights with all colors set to (0.25, 0.25, 0.25).
FromMaterial_me0_15
Draws 9 quads with all colors taken from the material settings. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (0.15, 0.15, 0.15).
FromMaterial_me0_15_2light
Draws 9 quads with all colors taken from the material settings. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (0.15, 0.15, 0.15). There are two lights with all colors set to (0.25, 0.25, 0.25).
FromMaterial_me0_5
Draws 9 quads with all colors taken from the material settings. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (0.5, 0.5, 0.5).
FromMaterial_me0_5_2light
Draws 9 quads with all colors taken from the material settings. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (0.5, 0.5, 0.5). There are two lights with all colors set to (0.25, 0.25, 0.25).
FromMaterial_me1_0
Draws 9 quads with all colors taken from the material settings. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. Each quad is broken into thirds: the top is just diffuse, the center is just specular, the bottom is both. NV097_SET_MATERIAL_EMISSION is set to (1, 1, 1).
FromMaterial_me1_0_2light
Draws 9 quads with all colors taken from the material settings. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. Each quad is broken into thirds: the top is just diffuse, the center is just specular, the bottom is both. NV097_SET_MATERIAL_EMISSION is set to (1, 1, 1). There are two lights with all colors set to (0.25, 0.25, 0.25).
FromVertexDiffuse
Draws 9 quads with some colors taken from the vertex diffuse color {0.f, 0.25f, 0.5f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0.
FromVertexDiffuse_2light
Draws 9 quads with some colors taken from the vertex diffuse color {0.f, 0.25f, 0.5f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. There are two lights with all colors set to (0.25, 0.25, 0.25).
FromVertexDiffuse_me0_15
Draws 9 quads with some colors taken from the vertex diffuse color {0.f, 0.25f, 0.5f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (0.15, 0.15, 0.15).
FromVertexDiffuse_me0_15_2light
Draws 9 quads with some colors taken from the vertex diffuse color {0.f, 0.25f, 0.5f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (0.15, 0.15, 0.15). There are two lights with all colors set to (0.25, 0.25, 0.25).
FromVertexDiffuse_me0_5
Draws 9 quads with some colors taken from the vertex diffuse color {0.f, 0.25f, 0.5f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (0.5, 0.5, 0.5).
FromVertexDiffuse_me0_5_2light
Draws 9 quads with some colors taken from the vertex diffuse color {0.f, 0.25f, 0.5f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (0.5, 0.5, 0.5). There are two lights with all colors set to (0.25, 0.25, 0.25).
FromVertexDiffuse_me1_0
Draws 9 quads with some colors taken from the vertex diffuse color {0.f, 0.25f, 0.5f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (1, 1, 1).
FromVertexDiffuse_me1_0_2light
Draws 9 quads with some colors taken from the vertex diffuse color {0.f, 0.25f, 0.5f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (1, 1, 1). There are two lights with all colors set to (0.25, 0.25, 0.25).
FromVertexSpecular
Draws 9 quads with some colors taken from the vertex specular color {0.5f, 0.25f, 0.f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0.
FromVertexSpecular_2light
Draws 9 quads with some colors taken from the vertex specular color {0.5f, 0.25f, 0.f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. There are two lights with all colors set to (0.25, 0.25, 0.25).
FromVertexSpecular_me0_15
Draws 9 quads with some colors taken from the vertex specular color {0.5f, 0.25f, 0.f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (0.15, 0.15, 0.15).
FromVertexSpecular_me0_15_2light
Draws 9 quads with some colors taken from the vertex specular color {0.5f, 0.25f, 0.f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (0.15, 0.15, 0.15). There are two lights with all colors set to (0.25, 0.25, 0.25).
FromVertexSpecular_me0_5
Draws 9 quads with some colors taken from the vertex specular color {0.5f, 0.25f, 0.f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (0.5, 0.5, 0.5).
FromVertexSpecular_me0_5_2light
Draws 9 quads with some colors taken from the vertex specular color {0.5f, 0.25f, 0.f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (0.5, 0.5, 0.5). There are two lights with all colors set to (0.25, 0.25, 0.25).
FromVertexSpecular_me1_0
Draws 9 quads with some colors taken from the vertex specular color {0.5f, 0.25f, 0.f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (1, 1, 1).
FromVertexSpecular_me1_0_2light
Draws 9 quads with some colors taken from the vertex specular color {0.5f, 0.25f, 0.f, 0.25f}. Each quad is divided into rows: the top is just diffuse, the center is just specular, the bottom is both. It is also divided into columns: the left column retains material alpha, the right forces alpha to 1.0. NV097_SET_MATERIAL_EMISSION is set to (1, 1, 1). There are two lights with all colors set to (0.25, 0.25, 0.25).
Overlapping_draw_modes
ArrElm_DrwArr_ArrElm
DrwArr_DrwArr
SquashOpt
SquashOptSingleArray
Pixel_shader
BumpEnvMap
Demonstrates behavior of PS_TEXTUREMODES_BUMPENVMAP with various values for the NV097_SET_TEXTURE_SET_BUMP_ENV_MAT matrix. Values are {-1.f, 0.f, 1.f, 0.f}, {1.f, 1.f, 1.f, 1.f}, {0.f, 0.2f, 0.f, 0.75f}, {0.5f, -0.5f, 0.5f, -0.5f}, {0.3f, 0.5f, 0.7f, 1.f}, {0.f, 1.f, -1.f, 0.f}, {0.f, 0.f, 1.f, 1.f}, {0.5f, 0.8f, 0.f, 0.f},
BumpEnvMapLuminance
Demonstrates behavior of PS_TEXTUREMODES_BUMPENVMAP_LUM with various values for NV097_SET_TEXTURE_SET_BUMP_ENV_SCALE and NV097_SET_TEXTURE_SET_BUMP_ENV_OFFSET. Outputs are grouped by the env bump matrix (the value of each element is identical and printed in row 1). Columns are divided up by the scale factor, whose value is printed in row 2. Rows are defined by the offset value: {0, 0.25, 0.75, 1.0}.
ClipPlane
Demonstrates behavior of PS_TEXTUREMODES_CLIPPLANE. Various mock values for clipping planes are assigned to texture coordinates for stages 0 (red), 1 (green), and 2 (blue). The values of the coordinates are summarized in the image, with "1" used to indicate a positive value and "-" to indicate a negative one. The comparator function is set for each quad in the image with a similar shorthand indicating whether results < 0 are clipped ("-") or >= 0 ("0").
DotZW
Renders a quad using PS_TEXTUREMODES_DOT_ZW. Texture stage 0 is set to a bump map. Tex coords for stages 1 and 2 define a 3x2 matrix multiplied against the texture 0 sampler to determine the Z and W components of the fragment's depth (z = tex1.uvw * tex0.rgb, w = tex2.uvw * tex0.rgb, final depth = z/w). See
Point_params
Detailed_FF
Renders points using the fixed function pipeline with more complex point params.
Detailed_VS
Renders points using a programmable shader with more complex point params.
PointParamsOn_SmoothOff_128_FF
Renders points using the fixed function pipeline with point size 128 (16px), point smoothing disabled and point params enabled.
PointParamsOn_SmoothOff_128_VS
Renders points using a programmable shader with point size 128 (16px), point smoothing disabled and point params enabled.
PointParamsOn_SmoothOn_001_FF
Renders points using the fixed function pipeline with point size 1, point smoothing and point params enabled. Demonstrates that point size is ignored when point params are enabled.
PointParamsOn_SmoothOn_128_FF
Renders points using the fixed function pipeline with point size 128 (16px), point smoothing and point params enabled.
PointParamsOn_SmoothOn_128_VS
Renders points using a programmable shader with point size 128 (16px), point smoothing and point params enabled.
Scale_0_0_0_FF
Renders points using the fixed function pipeline at varying distances from the eye point with point size 130 (16.25px) and point scale params 0.0, 0.0, 0.0. Minimum size is set to 0.5.
Scale_0_0_0_VS
Renders points using the programmable pipeline at varying distances from the eye point with point size 130 (16.25px) and point scale params 0.0, 0.0, 0.0. Minimum size is set to 0.5.
Scale_0_0_1_VS
Renders points using the programmable pipeline at varying distances from the eye point with point size 130 (16.25px) and point scale params 0.0, 0.0, 1.0. Minimum size is set to 0.5.
Scale_0_1_0_FF
Renders points using the fixed function pipeline at varying distances from the eye point with point size 130 (16.25px) and point scale params 0.0, 1.0, 0.0. Minimum size is set to 0.5.
Scale_0_1_0_VS
Renders points using the programmable pipeline at varying distances from the eye point with point size 130 (16.25px) and point scale params 0.0, 1.0, 0.0. Minimum size is set to 0.5.
Scale_0_1_1_VS
Scale_4_0_0_VS
Renders points using the programmable pipeline at varying distances from the eye point with point size 130 (16.25px) and point scale params 4.0, 0.0, 0.0. Minimum size is set to 0.5.
Scale_4_0_1_VS
Scale_4_1_0_FF
Scale_4_1_0_VS
Scale_4_1_1_VS
Point_size
LargestPointSize_FF
Using the fixed function pipeline: Top row renders a single point with a point size of 1 pixel (8), then a huge value with ~0x1FF set. Bottom row renders a single point with a point size of 511 (0x1FF), then a huge value with ~0x1FF set. 64 pixel ruler quads are rendered near the huge value points. Demonstrates that values larger than 0x1FF are completely ignored rather than masked.
LargestPointSize_VS
Using the programmable pipeline: Top row renders a single point with a point size of 1 pixel (8), then a huge value with ~0x1FF set. Bottom row renders a single point with a point size of 511 (0x1FF), then a huge value with ~0x1FF set. 64 pixel ruler quads are rendered near the huge value points. Demonstrates that values larger than 0x1FF are completely ignored rather than masked.
PointSmoothOff_01_FF
Renders points using the fixed function pipeline with point smoothing disabled. Point size starts at 0 and increases by 1 per point starting at the upper left point.
PointSmoothOff_01_VS
Renders points using a programmable shader with point smoothing disabled. Point size starts at 0 and increases by 1 per point starting at the upper left point.
PointSmoothOff_04_FF
Renders points using the fixed function pipeline with point smoothing disabled. Point size starts at 0 and increases by 4 per point starting at the upper left point.
PointSmoothOff_04_VS
Renders points using a programmable shader with point smoothing disabled. Point size starts at 0 and increases by 1 per point starting at the upper left point.
PointSmoothOff_08_FF
Renders points using the fixed function pipeline with point smoothing disabled. Point size starts at 0 and increases by 8 per point starting at the upper left point.
PointSmoothOff_08_VS
Renders points using a programmable shader with point smoothing disabled. Point size starts at 0 and increases by 8 per point starting at the upper left point.
PointSmoothOff_16_FF
Renders points using the fixed function pipeline with point smoothing disabled. Point size starts at 0 and increases by 16 per point starting at the upper left point.
PointSmoothOff_16_VS
Renders points using a programmable shader with point smoothing disabled. Point size starts at 0 and increases by 16 per point starting at the upper left point.
PointSmoothOn_01_FF
Renders points using the fixed function pipeline with point smoothing enabled. Point size starts at 0 and increases by 1 per point starting at the upper left point.
PointSmoothOn_01_VS
Renders points using a programmable shader with point smoothing enabled. Point size starts at 0 and increases by 1 per point starting at the upper left point.
PointSmoothOn_04_FF
Renders points using the fixed function pipeline with point smoothing enabled. Point size starts at 0 and increases by 4 per point starting at the upper left point.
PointSmoothOn_04_VS
Renders points using a programmable shader with point smoothing enabled. Point size starts at 0 and increases by 1 per point starting at the upper left point.
PointSmoothOn_08_FF
Renders points using the fixed function pipeline with point smoothing enabled. Point size starts at 0 and increases by 8 per point starting at the upper left point.
PointSmoothOn_08_VS
Renders points using a programmable shader with point smoothing enabled. Point size starts at 0 and increases by 8 per point starting at the upper left point.
PointSmoothOn_16_FF
Renders points using the fixed function pipeline with point smoothing enabled. Point size starts at 0 and increases by 16 per point starting at the upper left point.
PointSmoothOn_16_VS
Renders points using a programmable shader with point smoothing enabled. Point size starts at 0 and increases by 16 per point starting at the upper left point.
SmallestPointSize_FF
Using the fixed function pipeline, render points sized 0 - 1 with point params and smoothing off.
SmallestPointSize_VS
Using the programmable pipeline, render points sized 0 - 1 with point params enabled and smoothing off.
VSPointSize
Using the programmable pipeline, renders two rows with a point using immediate mode (SET_POINT_SIZE) followed by a DrawArrays with a configured point size (v6) parameter. Then renders another two rows with point params enabled with a constant scale factor. Demonstrates that point size is entirely governed by SET_POINT_SIZE when point params is disabled and that it is not possible for the vertex shader to influence point size. Further demonstrates that point size is entirely goverened by oPts if point params are enabled.
Shade_model
Fixed_Quad_Smooth_First
Fixed_Quad_Smooth_Last
Fixed_QuadStrip_Smooth_First
Fixed_QuadStrip_Smooth_Last
Fixed_TriFan_Smooth_First
Fixed_TriFan_Smooth_Last
Fixed_TriStrip_Smooth_First
Fixed_TriStrip_Smooth_Last
FixedTex_Quad_Flat_First
FixedTex_Quad_Flat_Last
FixedTex_Quad_Smooth_First
FixedTex_Quad_Smooth_Last
Prog_Poly_Smooth_First
Prog_Poly_Smooth_Last
Prog_Quad_Smooth_First
Prog_Quad_Smooth_Last
Prog_QuadStrip_Smooth_First
Prog_QuadStrip_Smooth_Last
Prog_Tri_Smooth_First
Prog_Tri_Smooth_Last
Prog_TriFan_Smooth_First
Prog_TriFan_Smooth_Last
Prog_TriStrip_Smooth_First
Prog_TriStrip_Smooth_Last
ProgLM_Poly_Flat_First
ProgLM_Poly_Flat_Last
ProgLM_Poly_Smooth_First
ProgLM_Poly_Smooth_Last
ProgLM_Quad_Flat_First
ProgLM_Quad_Flat_Last
ProgLM_Quad_Smooth_First
ProgLM_Quad_Smooth_Last
ProgLM_QuadStrip_Flat_First
ProgLM_QuadStrip_Flat_Last
ProgLM_QuadStrip_Smooth_First
ProgLM_QuadStrip_Smooth_Last
ProgLM_Tri_Flat_First
ProgLM_Tri_Flat_Last
ProgLM_Tri_Smooth_First
ProgLM_Tri_Smooth_Last
ProgLM_TriFan_Flat_First
ProgLM_TriFan_Flat_Last
ProgLM_TriFan_Smooth_First
ProgLM_TriFan_Smooth_Last
ProgLM_TriStrip_Flat_First
ProgLM_TriStrip_Flat_Last
ProgLM_TriStrip_Smooth_First
ProgLM_TriStrip_Smooth_Last
ProgTex_Quad_Flat_First
ProgTex_Quad_Flat_Last
ProgTex_Quad_Smooth_First
ProgTex_Quad_Smooth_Last
ProgTex_QuadStrip_Flat_First
ProgTex_QuadStrip_Flat_Last
ProgTex_QuadStrip_Smooth_First
ProgTex_QuadStrip_Smooth_Last
ProgTex_TriFan_Flat_First
ProgTex_TriFan_Flat_Last
ProgTex_TriFan_Smooth_First
ProgTex_TriFan_Smooth_Last
W_Fixed_Poly_Smooth_First
W_Fixed_Poly_Smooth_Last
W_Fixed_Quad_Smooth_First
W_Fixed_Quad_Smooth_Last
W_Fixed_QuadStrip_Smooth_First
W_Fixed_QuadStrip_Smooth_Last
W_Fixed_TriFan_Smooth_First
W_Fixed_TriFan_Smooth_Last
W_Fixed_TriStrip_Smooth_First
W_Fixed_TriStrip_Smooth_Last
Smoothing_control
0xFFFF0000
0xFFFF0001
Specular
ControlFlags_FF
Demonstrates that SET_SPECULAR_ENABLE = false forces specular values to {0, 0, 0, 1}. Also demonstrates that failing to set ALPHA_FROM_MATERIAL_SPECULAR will cause the specular alpha to be set to 1 and failing to set SEPARATE_SPECULAR will pass through vertex specular RGB instead of performing the light calculation.
Renders two groups of two rows of 4 quads each with the fixed function pipeline. The first row is the specular component, the second is the diffuse. Lighting is enabled but with a directional light pointing at {1, 0, 1}.
Each quad has specular and diffuse colors of: UL = {1.f, 0.f, 0.f, 0.15f}, {0.f, 0.f, 0.5f, 1.f} UR = {1.f, 0.f, 0.f, 0.75f}, {0.f, 0.f, 0.75f, 1.f} LR = {0.f, 1.f, 0.f, 1.f}, {0.f, 0.f, 1.f, 1.f} LL = {0.f, 1.f, 0.f, 0.2f}, {0.f, 0.f, 0.25f, 1.f}
The upper row has SET_SPECULAR_ENABLE = false. The lower row has it true. The first column has SET_LIGHT_CONTROL = SEPARATE_SPECULAR + ALPHA_FROM_MATERIAL_SPECULAR The second has SET_LIGHT_CONTROL = SEPARATE_SPECULAR The third has SET_LIGHT_CONTROL = ALPHA_FROM_MATERIAL_SPECULAR The fourth has SET_LIGHT_CONTROL = 0
Because lighting is enabled, the diffuse alpha is entirely dictated by SET_MATERIAL_ALPHA, and RGB is entirely set by the lighting calculations.
ControlFlags_VS
Demonstrates that SET_SPECULAR_ENABLE = false forces specular values to {0, 0, 0, 1}. Also demonstrates that failing to set ALPHA_FROM_MATERIAL_SPECULAR will cause the specular alpha to be set to 1 and failing to set SEPARATE_SPECULAR will pass through vertex specular RGB instead of performing the light calculation.
Renders two groups of two rows of 4 quads each with the fixed function pipeline. The first row is the specular component, the second is the diffuse. Lighting is enabled but with a directional light pointing at {1, 0, 1}.
Each quad has specular and diffuse colors of: UL = {1.f, 0.f, 0.f, 0.15f}, {0.f, 0.f, 0.5f, 1.f} UR = {1.f, 0.f, 0.f, 0.75f}, {0.f, 0.f, 0.75f, 1.f} LR = {0.f, 1.f, 0.f, 1.f}, {0.f, 0.f, 1.f, 1.f} LL = {0.f, 1.f, 0.f, 0.2f}, {0.f, 0.f, 0.25f, 1.f}
The upper row has SET_SPECULAR_ENABLE = false. The lower row has it true. The first column has SET_LIGHT_CONTROL = SEPARATE_SPECULAR + ALPHA_FROM_MATERIAL_SPECULAR The second has SET_LIGHT_CONTROL = SEPARATE_SPECULAR The third has SET_LIGHT_CONTROL = ALPHA_FROM_MATERIAL_SPECULAR The fourth has SET_LIGHT_CONTROL = 0
Because lighting is enabled, the diffuse alpha is entirely dictated by SET_MATERIAL_ALPHA, and RGB is entirely set by the lighting calculations.
ControlFlagsLightDisable_FF
Demonstrates that SET_SPECULAR_ENABLE = false forces specular values to {0, 0, 0, 1}. Also demonstrates that failing to set ALPHA_FROM_MATERIAL_SPECULAR will cause the specular alpha to be set to 1.
Renders two groups of two rows of 4 quads each with the fixed function pipeline. The first row is the specular component, the second is the diffuse. Lighting is disabled.
Each quad has specular and diffuse colors of: UL = {1.f, 0.f, 0.f, 0.15f}, {0.f, 0.f, 0.5f, 1.f} UR = {1.f, 0.f, 0.f, 0.75f}, {0.f, 0.f, 0.75f, 1.f} LR = {0.f, 1.f, 0.f, 1.f}, {0.f, 0.f, 1.f, 1.f} LL = {0.f, 1.f, 0.f, 0.2f}, {0.f, 0.f, 0.25f, 1.f}
The upper two rows have SET_SPECULAR_ENABLE = false. The lower rows have it true. The first column has SET_LIGHT_CONTROL = SEPARATE_SPECULAR + ALPHA_FROM_MATERIAL_SPECULAR The second has SET_LIGHT_CONTROL = SEPARATE_SPECULAR The third has SET_LIGHT_CONTROL = ALPHA_FROM_MATERIAL_SPECULAR The fourth has SET_LIGHT_CONTROL = 0
ControlFlagsLightDisable_VS
Demonstrates that SET_SPECULAR_ENABLE = false forces specular values to {0, 0, 0, 1}. Also demonstrates that failing to set ALPHA_FROM_MATERIAL_SPECULAR will cause the specular alpha to be set to 1.
Renders two groups of two rows of 4 quads each with the fixed function pipeline. The first row is the specular component, the second is the diffuse. Lighting is disabled.
Each quad has specular and diffuse colors of: UL = {1.f, 0.f, 0.f, 0.15f}, {0.f, 0.f, 0.5f, 1.f} UR = {1.f, 0.f, 0.f, 0.75f}, {0.f, 0.f, 0.75f, 1.f} LR = {0.f, 1.f, 0.f, 1.f}, {0.f, 0.f, 1.f, 1.f} LL = {0.f, 1.f, 0.f, 0.2f}, {0.f, 0.f, 0.25f, 1.f}
The upper row has SET_SPECULAR_ENABLE = false. The lower row has it true. The first column has SET_LIGHT_CONTROL = SEPARATE_SPECULAR + ALPHA_FROM_MATERIAL_SPECULAR The second has SET_LIGHT_CONTROL = SEPARATE_SPECULAR The third has SET_LIGHT_CONTROL = ALPHA_FROM_MATERIAL_SPECULAR The fourth has SET_LIGHT_CONTROL = 0
ControlFlagsNoLight_FF
Demonstrates that SET_SPECULAR_ENABLE = false forces specular values to {0, 0, 0, 1}. Also demonstrates that failing to set ALPHA_FROM_MATERIAL_SPECULAR will cause the specular alpha to be set to 1 and failing to set SEPARATE_SPECULAR will pass through vertex specular RGB instead of performing the light calculation.
Renders two groups of two rows of 4 quads each with the fixed function pipeline. The first row is the specular component, the second is the diffuse. Lighting is enabled but no light exists.
Each quad has specular and diffuse colors of: UL = {1.f, 0.f, 0.f, 0.15f}, {0.f, 0.f, 0.5f, 1.f} UR = {1.f, 0.f, 0.f, 0.75f}, {0.f, 0.f, 0.75f, 1.f} LR = {0.f, 1.f, 0.f, 1.f}, {0.f, 0.f, 1.f, 1.f} LL = {0.f, 1.f, 0.f, 0.2f}, {0.f, 0.f, 0.25f, 1.f}
The upper row has SET_SPECULAR_ENABLE = false. The lower row has it true. The first column has SET_LIGHT_CONTROL = SEPARATE_SPECULAR + ALPHA_FROM_MATERIAL_SPECULAR The second has SET_LIGHT_CONTROL = SEPARATE_SPECULAR The third has SET_LIGHT_CONTROL = ALPHA_FROM_MATERIAL_SPECULAR The fourth has SET_LIGHT_CONTROL = 0
Because lighting is enabled, the diffuse alpha is entirely dictated by SET_MATERIAL_ALPHA, and RGB is entirely set by the lighting calculations.
ControlFlagsNoLight_VS
Demonstrates that SET_SPECULAR_ENABLE = false forces specular values to {0, 0, 0, 1}. Also demonstrates that failing to set ALPHA_FROM_MATERIAL_SPECULAR will cause the specular alpha to be set to 1 and failing to set SEPARATE_SPECULAR will pass through vertex specular RGB instead of performing the light calculation.
Renders two groups of two rows of 4 quads each with the fixed function pipeline. The first row is the specular component, the second is the diffuse. Lighting is enabled but no light exists.
Each quad has specular and diffuse colors of: UL = {1.f, 0.f, 0.f, 0.15f}, {0.f, 0.f, 0.5f, 1.f} UR = {1.f, 0.f, 0.f, 0.75f}, {0.f, 0.f, 0.75f, 1.f} LR = {0.f, 1.f, 0.f, 1.f}, {0.f, 0.f, 1.f, 1.f} LL = {0.f, 1.f, 0.f, 0.2f}, {0.f, 0.f, 0.25f, 1.f}
The upper row has SET_SPECULAR_ENABLE = false. The lower row has it true. The first column has SET_LIGHT_CONTROL = SEPARATE_SPECULAR + ALPHA_FROM_MATERIAL_SPECULAR The second has SET_LIGHT_CONTROL = SEPARATE_SPECULAR The third has SET_LIGHT_CONTROL = ALPHA_FROM_MATERIAL_SPECULAR The fourth has SET_LIGHT_CONTROL = 0
Because lighting is enabled, the diffuse alpha is entirely dictated by SET_MATERIAL_ALPHA, and RGB is entirely set by the lighting calculations.
NonUnitNormal_0.972
Renders a triangle fan with spherical normals that are scaled to be 0.972 in length. 0.972 is small enough that no pixels are illuminated.
NonUnitNormal_0.973
Renders a triangle fan with spherical normals that are scaled to be 0.973 in length. 0.973 is large enough that center pixels are non-0.
NonUnitNormal_1.000
Renders a triangle fan with spherical unit-length normals. This is the control image.
NonUnitNormal_1.008
Renders a triangle fan with spherical normals that are scaled to be 1.008 in length. This is close enough to 1.0 that the color is still applied.
NonUnitNormal_1.009
Renders a triangle fan with spherical normals that are scaled to be 1.009 in length. This demonstrates that specular color is reset to 0 when overflowing ~1.0.
SpecParams_FF_AllZero
Renders a number of meshes with a directional light and a point light, shading the specular channel only. LIGHT_CONTROL is set to SEPARATE_SPECULAR and SET_SPECULAR_PARAMS is set to the values displayed in the image.
SpecParams_FF_InvMechAssault
Renders a number of meshes with a directional light and a point light, shading the specular channel only. LIGHT_CONTROL is set to SEPARATE_SPECULAR and SET_SPECULAR_PARAMS is set to the values displayed in the image.
SpecParams_FF_MechAssault
Renders a number of meshes with a directional light and a point light, shading the specular channel only. LIGHT_CONTROL is set to SEPARATE_SPECULAR and SET_SPECULAR_PARAMS is set to the values displayed in the image.
SpecParams_FF_NinjaGaidenBlack
Renders a number of meshes with a directional light and a point light, shading the specular channel only. LIGHT_CONTROL is set to SEPARATE_SPECULAR and SET_SPECULAR_PARAMS is set to the values displayed in the image.
SpecParams_FF_Pow0_1
SpecParams_FF_Pow16_0
SpecParams_FF_Pow1_0
SpecParams_FF_Pow24_0
SpecParams_FF_Pow2_0
SpecParams_FF_Pow4_0
SpecParams_FF_Pow8_0
Specular_back
ControlFlags_FF
Demonstrates that SET_SPECULAR_ENABLE = false forces specular values to {0, 0, 0, 1}. Also demonstrates that failing to set ALPHA_FROM_MATERIAL_SPECULAR will cause the specular alpha to be set to 1 and failing to set SEPARATE_SPECULAR will pass through vertex
Renders two groups of two rows of 4 quads each with the fixed function pipeline. The first row is the specular component, the second is the diffuse. Lighting is enabled but with a directional light pointing at {1, 0, 1}.
Each quad has back specular and back diffuse colors of:
UL: {1.f, 0.f, 0.0f, 0.15f}, {0.5f, 0.f, 0.f, 1.f} UR: {1.f, 0.f, 0.0f, 0.75f}, {0.75f, 0.f, 0.f, 1.f} LR: {0.f, 1.f, 0.0f, 1.f}, {1.f, 0.f, 0.f, 1.f} LL: {0.f, 1.f, 0.0f, 0.20f}, {0.25f, 0.f, 0.f, 1.f}
Front specular is set to {0.f, 0.f, 1.f, 0.33f} and diffuse {0.0f, 1.0f, 0.5f, 1.0f}.
The upper row has SET_SPECULAR_ENABLE = false. The lower row has it true. The first column has SET_LIGHT_CONTROL = SEPARATE_SPECULAR + ALPHA_FROM_MATERIAL_SPECULAR The second has SET_LIGHT_CONTROL = SEPARATE_SPECULAR The third has SET_LIGHT_CONTROL = ALPHA_FROM_MATERIAL_SPECULAR The fourth has SET_LIGHT_CONTROL = 0
Because lighting is enabled, the diffuse alpha is entirely dictated by SET_MATERIAL_ALPHA, and RGB is entirely set by the lighting calculations.
ControlFlags_VS
Demonstrates that SET_SPECULAR_ENABLE = false forces specular values to {0, 0, 0, 1}. Also demonstrates that failing to set ALPHA_FROM_MATERIAL_SPECULAR will cause the specular alpha to be set to 1 and failing to set SEPARATE_SPECULAR will pass through vertex back specular RGB instead of performing the light calculation.
Renders two groups of two rows of 4 quads each with the fixed function pipeline. The first row is the specular component, the second is the diffuse. Lighting is enabled but with a directional light pointing at {1, 0, 1}.
Each quad has back specular and back diffuse colors of:
UL: {1.f, 0.f, 0.0f, 0.15f}, {0.5f, 0.f, 0.f, 1.f} UR: {1.f, 0.f, 0.0f, 0.75f}, {0.75f, 0.f, 0.f, 1.f} LR: {0.f, 1.f, 0.0f, 1.f}, {1.f, 0.f, 0.f, 1.f} LL: {0.f, 1.f, 0.0f, 0.20f}, {0.25f, 0.f, 0.f, 1.f}
Front specular is set to {0.f, 0.f, 1.f, 0.33f} and diffuse {0.0f, 1.0f, 0.5f, 1.0f}.
The upper row has SET_SPECULAR_ENABLE = false. The lower row has it true. The first column has SET_LIGHT_CONTROL = SEPARATE_SPECULAR + ALPHA_FROM_MATERIAL_SPECULAR The second has SET_LIGHT_CONTROL = SEPARATE_SPECULAR The third has SET_LIGHT_CONTROL = ALPHA_FROM_MATERIAL_SPECULAR The fourth has SET_LIGHT_CONTROL = 0
Because lighting is enabled, the diffuse alpha is entirely dictated by SET_MATERIAL_ALPHA, and RGB is entirely set by the lighting calculations.
ControlFlagsLightDisable_FF
Demonstrates that setting NV097_SET_LIGHT_TWO_SIDE_ENABLE will cause specular and diffuse channels to be {0, 0, 0, 1} for back facing polygons even with lighting disbled.
Renders two groups of two rows of 4 quads each with the fixed function pipeline. The first row is the specular component, the second is the diffuse. Lighting is disabled.
Each quad has back specular and back diffuse colors of:
UL: {1.f, 0.f, 0.0f, 0.15f}, {0.5f, 0.f, 0.f, 1.f} UR: {1.f, 0.f, 0.0f, 0.75f}, {0.75f, 0.f, 0.f, 1.f} LR: {0.f, 1.f, 0.0f, 1.f}, {1.f, 0.f, 0.f, 1.f} LL: {0.f, 1.f, 0.0f, 0.20f}, {0.25f, 0.f, 0.f, 1.f}
Front specular is set to {0.f, 0.f, 1.f, 0.33f} and diffuse {0.0f, 1.0f, 0.5f, 1.0f}.
The upper two rows have SET_SPECULAR_ENABLE = false. The lower rows have it true. The first column has SET_LIGHT_CONTROL = SEPARATE_SPECULAR + ALPHA_FROM_MATERIAL_SPECULAR The second has SET_LIGHT_CONTROL = SEPARATE_SPECULAR The third has SET_LIGHT_CONTROL = ALPHA_FROM_MATERIAL_SPECULAR The fourth has SET_LIGHT_CONTROL = 0
ControlFlagsLightDisable_VS
Demonstrates that SET_SPECULAR_ENABLE = false forces back specular values to {0, 0, 0, 1}. Also demonstrates that failing to set ALPHA_FROM_MATERIAL_SPECULAR will cause the specular alpha to be set to 1. The vertex shader back color outputs are applied directly.
Renders two groups of two rows of 4 quads each with the fixed function pipeline. The first row is the specular component, the second is the diffuse. Lighting is disabled.
Each quad has back specular and back diffuse colors of:
UL: {1.f, 0.f, 0.0f, 0.15f}, {0.5f, 0.f, 0.f, 1.f} UR: {1.f, 0.f, 0.0f, 0.75f}, {0.75f, 0.f, 0.f, 1.f} LR: {0.f, 1.f, 0.0f, 1.f}, {1.f, 0.f, 0.f, 1.f} LL: {0.f, 1.f, 0.0f, 0.20f}, {0.25f, 0.f, 0.f, 1.f}
Front specular is set to {0.f, 0.f, 1.f, 0.33f} and diffuse {0.0f, 1.0f, 0.5f, 1.0f}.
The upper row has SET_SPECULAR_ENABLE = false. The lower row has it true. The first column has SET_LIGHT_CONTROL = SEPARATE_SPECULAR + ALPHA_FROM_MATERIAL_SPECULAR The second has SET_LIGHT_CONTROL = SEPARATE_SPECULAR The third has SET_LIGHT_CONTROL = ALPHA_FROM_MATERIAL_SPECULAR The fourth has SET_LIGHT_CONTROL = 0
ControlFlagsNoLight_FF
Demonstrates that SET_SPECULAR_ENABLE = false forces specular values to {0, 0, 0, 1}. Also demonstrates that failing to set ALPHA_FROM_MATERIAL_SPECULAR will cause the specular alpha to be set to 1 and failing to set SEPARATE_SPECULAR will pass through vertex
Renders two groups of two rows of 4 quads each with the fixed function pipeline. The first row is the specular component, the second is the diffuse. Lighting is enabled but no light exists.
Each quad has back specular and back diffuse colors of:
UL: {1.f, 0.f, 0.0f, 0.15f}, {0.5f, 0.f, 0.f, 1.f} UR: {1.f, 0.f, 0.0f, 0.75f}, {0.75f, 0.f, 0.f, 1.f} LR: {0.f, 1.f, 0.0f, 1.f}, {1.f, 0.f, 0.f, 1.f} LL: {0.f, 1.f, 0.0f, 0.20f}, {0.25f, 0.f, 0.f, 1.f}
Front specular is set to {0.f, 0.f, 1.f, 0.33f} and diffuse {0.0f, 1.0f, 0.5f, 1.0f}.
The upper row has SET_SPECULAR_ENABLE = false. The lower row has it true. The first column has SET_LIGHT_CONTROL = SEPARATE_SPECULAR + ALPHA_FROM_MATERIAL_SPECULAR The second has SET_LIGHT_CONTROL = SEPARATE_SPECULAR The third has SET_LIGHT_CONTROL = ALPHA_FROM_MATERIAL_SPECULAR The fourth has SET_LIGHT_CONTROL = 0
Because lighting is enabled, the diffuse alpha is entirely dictated by SET_MATERIAL_ALPHA, and RGB is entirely set by the lighting calculations.
ControlFlagsNoLight_VS
Demonstrates that SET_SPECULAR_ENABLE = false forces specular values to {0, 0, 0, 1}. Also demonstrates that failing to set ALPHA_FROM_MATERIAL_SPECULAR will cause the back specular alpha to be set to 1 and failing to set SEPARATE_SPECULAR will pass through vertex back specular RGB in the specular channel instead of performing the light calculation (which is black due to lack of light). Diffuse alpha is defined via SET_MATERIAL_ALPHA_BACK.
Renders two groups of two rows of 4 quads each with the fixed function pipeline. The first row is the specular component, the second is the diffuse. Lighting is enabled but no light exists.
Each quad has back specular and back diffuse colors of:
UL: {1.f, 0.f, 0.0f, 0.15f}, {0.5f, 0.f, 0.f, 1.f} UR: {1.f, 0.f, 0.0f, 0.75f}, {0.75f, 0.f, 0.f, 1.f} LR: {0.f, 1.f, 0.0f, 1.f}, {1.f, 0.f, 0.f, 1.f} LL: {0.f, 1.f, 0.0f, 0.20f}, {0.25f, 0.f, 0.f, 1.f}
Front specular is set to {0.f, 0.f, 1.f, 0.33f} and diffuse {0.0f, 1.0f, 0.5f, 1.0f}.
The upper row has SET_SPECULAR_ENABLE = false. The lower row has it true. The first column has SET_LIGHT_CONTROL = SEPARATE_SPECULAR + ALPHA_FROM_MATERIAL_SPECULAR The second has SET_LIGHT_CONTROL = SEPARATE_SPECULAR The third has SET_LIGHT_CONTROL = ALPHA_FROM_MATERIAL_SPECULAR The fourth has SET_LIGHT_CONTROL = 0
Because lighting is enabled, the diffuse alpha is entirely dictated by SET_MATERIAL_ALPHA, and RGB is entirely set by the lighting calculations.
SpecParams_FF_AllZero
Renders a number of meshes with a directional light and a point light, shading the specular channel only. LIGHT_CONTROL is set to SEPARATE_SPECULAR and SET_SPECULAR_PARAMS_BACK is set to the values displayed in the image. The Z coordinate of model normals is inverted and winding is swapped to make front faces back.
SpecParams_FF_InvMechAssault
Renders a number of meshes with a directional light and a point light, shading the specular channel only. LIGHT_CONTROL is set to SEPARATE_SPECULAR and SET_SPECULAR_PARAMS_BACK is set to the values displayed in the image. The Z coordinate of model normals is inverted and winding is swapped to make front faces back.
SpecParams_FF_MechAssault
Renders a number of meshes with a directional light and a point light, shading the specular channel only. LIGHT_CONTROL is set to SEPARATE_SPECULAR and SET_SPECULAR_PARAMS_BACK is set to the values displayed in the image. The Z coordinate of model normals is inverted and winding is swapped to make front faces back.
SpecParams_FF_NinjaGaidenBlack
Renders a number of meshes with a directional light and a point light, shading the specular channel only. LIGHT_CONTROL is set to SEPARATE_SPECULAR and SET_SPECULAR_PARAMS_BACK is set to the values displayed in the image. The Z coordinate of model normals is inverted and winding is swapped to make front faces back.
SpecParams_FF_Pow0_1
SpecParams_FF_Pow16_0
SpecParams_FF_Pow1_0
SpecParams_FF_Pow24_0
SpecParams_FF_Pow2_0
SpecParams_FF_Pow4_0
SpecParams_FF_Pow8_0
Stipple_tests
Alternating_On
Asymmetric_On
Border_On
Checkered_Off
Checkered_On
Zero_On
Surface_clip
rt_x0y0_w0h384
Configures a texture target as R5G6B5 and sets the clip region to 0,0 0x384, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. The texture is then rendered into an 8888 backbuffer.
rt_x0y0_w512h0
Configures a texture target as R5G6B5 and sets the clip region to 0,0 512x0, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. The texture is then rendered into an 8888 backbuffer.
rt_x0y0_w512h384
Configures a texture target as R5G6B5 and sets the clip region to 0,0 512x384, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. The texture is then rendered into an 8888 backbuffer. No red should be seen, and the light green quads should be fully visible.
rt_x0y240_w640h240
Configures a texture target as R5G6B5 and sets the clip region to 0,240 640x240, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. The texture is then rendered into an 8888 backbuffer. No red should be seen, and the light green quads should be fully visible.
rt_x16y8_w512h384
Configures a texture target as R5G6B5 and sets the clip region to 16,8 512x384, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. The texture is then rendered into an 8888 backbuffer. No red should be seen, and the light green quads should be fully visible.
rt_x320y240_w320h240
Configures a texture target as R5G6B5 and sets the clip region to 320,240 320x240, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. The texture is then rendered into an 8888 backbuffer. No red should be seen, and the light green quads should be fully visible.
rt_x8y16_w632h464
Configures a texture target as R5G6B5 and sets the clip region to 8,16 632x464, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. The texture is then rendered into an 8888 backbuffer. No red should be seen, and the light green quads should be fully visible.
x0y0_w0h0
Configures the backbuffer as R5G6B5 and sets the clip region to 0,0 0x0, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. Because the format is 565, the colors are shifted from red -> green, light green -> light pink, and dark green -> pink.
x0y0_w0h0_B8
x0y0_w0h0_G8B8
x0y0_w0h384
Configures the backbuffer as R5G6B5 and sets the clip region to 0,0 0x384, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. Because the format is 565, the colors are shifted from red -> green, light green -> light pink, and dark green -> pink.
x0y0_w0h384_B8
x0y0_w0h384_G8B8
x0y0_w512h0
Configures the backbuffer as R5G6B5 and sets the clip region to 0,0 512x0, then clears the clipped region and draws 4 red quads just outside the clip region, a dark green quad 1 pixel within the clip region, and 4 lighter green quads along the clip boundary. Because the format is 565, the colors are shifted from red -> green, light green -> light pink, and dark green -> pink.
x0y0_w512h0_B8
x0y0_w512h0_G8B8
Surface_format
Fmt_B8
Tests the B8 surface format. Quads appear as alpha+luma ramps and are distorted and repeated due to the difference in bytes per pixel.
Fmt_G8B8
Tests the G8B8 surface format. Quads set the red channel equal to the blue channel and alpha equal to the green channel. Quads are once again repeated due to the difference in bytes per pixel.
Fmt_X1A7R8G8B8_O1A7R8G8B8
Tests the X1A7R8G8B8_O1A7R8G8B8 surface format. Quads appear similar to A8R8G8B8, but the high bit of the alpha is set to 1, causing all quads to be less translucent.
Fmt_X1A7R8G8B8_Z1A7R8G8B8
Tests the X1A7R8G8B8_Z1A7R8G8B8 surface format. Quads appear similar to A8R8G8B8, but the high bit of the alpha is set to 0, causing all quads to be translucent.
Fmt_X1R5G5B5_O1R5G5B5
Tests the X1R5G5B5_O1R5G5B5 surface format.
Fmt_X1R5G5B5_Z1R5G5B5
Tests the X1R5G5B5_Z1R5G5B5 surface format.
Fmt_X8R8G8B8_O8R8G8B8
Tests the X8R8G8B8_O8R8G8B8 surface format. Quads appear similar to A8R8G8B8, but the alpha is set to fully opaque.
Fmt_X8R8G8B8_Z8R8G8B8
Tests the X8R8G8B8_Z8R8G8B8 surface format. Quads appear similar to A8R8G8B8, but the alpha is set to fully transparent (no quads should appear in the top half of the image).
Surface_pitch
Swizzle
Swath_width
SwathWidth00
Sets NV097_SET_SWATH_WIDTH to 0x00.
SwathWidth01
Sets NV097_SET_SWATH_WIDTH to 0x01.
SwathWidth02
Sets NV097_SET_SWATH_WIDTH to 0x02.
SwathWidth03
Sets NV097_SET_SWATH_WIDTH to 0x03.
SwathWidth04
Sets NV097_SET_SWATH_WIDTH to 0x04.
SwathWidth0F
Sets NV097_SET_SWATH_WIDTH to 0x0F (correlated with turning antialiasing off).
Texgen
Disabled
Texgen_with_texture_matrix
ObjectLinear_Arbitrary
SphereMap_Arbitrary
SphereMap_Double
SphereMap_Half
SphereMap_Identity
SphereMap_RotateX
SphereMap_RotateY
SphereMap_RotateZ
SphereMap_ShiftHMinus
SphereMap_ShiftHPlus
SphereMap_ShiftVMinus
SphereMap_ShiftVPlus
Texture_2D_as_cubemap
Cubemap_Bad2D
Renders two angles of a cube utilizing a cubemap texture.
DotReflectDiffuse_Bad2D
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_DIFF pixel shading mode but passing a 2d texture instead of a cubemap for the final lookup.
DotReflectSpec_Bad2D
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC pixel shading mode but passing a 2d texture instead of a cubemap for the final lookup.
DotReflectSpecConst_Bad2D
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST but passing a 2d texture instead of a cubemap for the final lookup.
DotSTRCube_Bad2D
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_CUBE pixel shading mode but passing a 2d texture instead of a cubemap for the final lookup.
Texture_3D_as_2D
Cubemap_as_2D
Renders a textured quad using a cubemap texture sampled as 2D_PROJECTIVE. The +X face is rendered as a native-sized reference image. The quad is rendered at 4x the native size of the texture.
Volumetric_as_2D
Renders a textured quad using a volumetric texture sampled as 2D_PROJECTIVE. The first two layers are rendered as native sized reference images on the left. The quad is rendered at 4x the native size of the texture.
Texture_anisotropy
Anisotropy-2
Renders a flat, checkerboard-textured quad with perspective and anisotropic filtering set to 2x.
Anisotropy-4
Renders a flat, checkerboard-textured quad with perspective and anisotropic filtering set to 4x.
Anisotropy-8
Renders a flat, checkerboard-textured quad with perspective and anisotropic filtering set to 8x.
Texture_border
2D
2D_BorderTex_SZ
3D_BorderTex_SZ_16x1
3D_BorderTex_SZ_16x16
3D_BorderTex_SZ_1x1
3D_BorderTex_SZ_2x2
3D_BorderTex_SZ_32x32
3D_BorderTex_SZ_4x4
3D_BorderTex_SZ_4x8
3D_BorderTex_SZ_8x2
3D_BorderTex_SZ_8x8
Cube_BorderTex_SZ_16x16
Cube_BorderTex_SZ_1x1
Cube_BorderTex_SZ_2x2
Cube_BorderTex_SZ_32x32
Cube_BorderTex_SZ_4x4
Cube_BorderTex_SZ_8x8
Texture_cubemap
Cubemap_q-0.0
Cubemap_q-1.0
Cubemap_q-inf
Cubemap_q0.0
Cubemap_q1.0
Cubemap_qinf
DotReflectConst_0_-1to1
DotReflectConst_0_-1to1D3D
DotReflectConst_0_-1to1GL
DotReflectConst_0_0to1
DotReflectConst_0_HiLo_1
DotReflectConst_0_HiLoHemi
DotReflectConst_1_-1to1
DotReflectConst_1_-1to1D3D
DotReflectConst_1_-1to1GL
DotReflectConst_1_0to1
DotReflectConst_1_HiLo_1
DotReflectConst_1_HiLoHemi
DotReflectConst_2_-1to1
DotReflectConst_2_-1to1D3D
DotReflectConst_2_-1to1GL
DotReflectConst_2_0to1
DotReflectConst_2_HiLo_1
DotReflectConst_2_HiLoHemi
DotReflectDiffuse_-1to1GL
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_DIFF pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_gl.
DotReflectDiffuse_HiLoHemi
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_DIFF pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_hemisphere.
DotReflectSpec_0_-1to1
DotReflectSpec_0_-1to1D3D
DotReflectSpec_0_-1to1GL
DotReflectSpec_0_0to1
DotReflectSpec_0_HiLo_1
DotReflectSpec_0_HiLoHemi
DotReflectSpec_1_-1to1
DotReflectSpec_1_-1to1D3D
DotReflectSpec_1_-1to1GL
DotReflectSpec_1_0to1
DotReflectSpec_1_HiLo_1
DotReflectSpec_1_HiLoHemi
DotReflectSpec_2_-1to1
DotReflectSpec_2_-1to1D3D
DotReflectSpec_2_-1to1GL
DotReflectSpec_2_0to1
DotReflectSpec_2_HiLo_1
DotReflectSpec_2_HiLoHemi
DotReflectSpec_HiLoHemi
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_hemispheref.
DotReflectSpecConst_-1to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1.
DotReflectSpecConst_-1to1D3D
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_d3d.
DotReflectSpecConst_-1to1GL
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_gl.
DotReflectSpecConst_0to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_zero_to_one.
DotReflectSpecConst_HiLo_1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_1.
DotReflectSpecConst_HiLoHemi
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_RFLCT_SPEC_CONST pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_hemisphere.
DotSTR3D_-1to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_3D pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1.
DotSTR3D_-1to1D3D
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_3D pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_d3d.
DotSTR3D_-1to1GL
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_3D pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_minus1_to_1_gl.
DotSTR3D_0to1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_3D pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_zero_to_one.
DotSTR3D_HiLo_1
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_3D pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_1.
DotSTR3D_HiLoHemi
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_3D pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_hemisphere.
DotSTRCube_HiLoHemi
Renders two angles of a cube utilizing PS_TEXTUREMODES_DOT_STR_CUBE pixel shading mode. The NV097_DOT_RGBMAPPING is set to dotmap_hilo_hemisphere.
Texture_DXT
DXT1_plasma_alpha_dxt1
DXT1_plasma_dxt1
MIPDXT1_64x256_bands_dxt1
MIPDXT1_plasma_alpha_dxt1
MIPDXT1_plasma_dxt1
MIPDXT3_plasma_dxt3
MIPDXT5_plasma_dxt5
Texture_format
TexFmt_DXT1
TexFmt_R16B16
TexFmt_R16B16_L
TexFmt_R6G5B5
TexFmt_UYVY_L
TexFmt_Y16
TexFmt_Y16_L
TexFmt_YUY2_L
Texture_Framebuffer_Blit
FBToOldRenderTarget
FBToTexture
FBToZetaAsTex
Texture_perspective_enable
TexPerspective_Textured
Renders two pairs of quads, each of which have interesting W parameters. The quads are textured with a checkerboard pattern. The left quads have bit 20 unset. The right have it set.
TexPerspective_Untextured
Renders two pairs of quads, each of which have interesting W parameters. The quads are not textured. The left quads have bit 20 unset. The right have it set.
Texture_render_target
TexFmt_DXT1
TexFmt_R16B16
TexFmt_R16B16_L
TexFmt_R6G5B5
TexFmt_SZ_Index8_p128
TexFmt_SZ_Index8_p256
TexFmt_SZ_Index8_p32
TexFmt_SZ_Index8_p64
TexFmt_UYVY_L
TexFmt_Y16
TexFmt_Y16_L
TexFmt_YUY2_L
Texture_shadow_comparator
2F24_-6.00-193.00_10.6500_EQ
2F24_-6.00-193.00_10.6500_GE
2F24_-6.00-193.00_10.6500_LT
2F24_-6.00-193.00_10.6500_NE
2R24_0-100_80_EQ
2R24_0-100_80_GE
2R24_0-100_80_LT
2R24_0-100_80_NE
3F16_-6.00-193.00_5.9400_EQ
3F16_-6.00-193.00_5.9400_GT
3F16_-6.00-193.00_5.9400_LE
3F16_-6.00-193.00_5.9400_NE
3F16_10.00-20.00_15.0000_EQ
3F16_10.00-20.00_15.0000_GT
3F16_10.00-20.00_15.0000_LE
3F16_10.00-20.00_15.0000_NE
3F16f_-6.00-193.00_4.5669_EQ
3F16f_-6.00-193.00_4.5669_GT
3F16f_-6.00-193.00_4.5669_LE
3F16f_-6.00-193.00_4.5669_NE
3F16f_10.00-20.00_14.0400_EQ
3F16f_10.00-20.00_14.0400_GE
3F16f_10.00-20.00_14.0400_GT
3F16f_10.00-20.00_14.0400_LE
3F16f_10.00-20.00_14.0400_LT
3F16f_10.00-20.00_14.0400_NE
3F24_-6.00-193.00_10.6500_GE
3F24_-6.00-193.00_10.6500_GT
3F24_-6.00-193.00_10.6500_LE
3F24_-6.00-193.00_10.6500_LT
3F24_10.00-20.00_11.4700_EQ
3F24_10.00-20.00_11.4700_GE
3F24_10.00-20.00_11.4700_LT
3F24_10.00-20.00_11.4700_NE
3P16_-6.00-193.00_5.9400_EQ
3P16_-6.00-193.00_5.9400_GT
3P16_-6.00-193.00_5.9400_LE
3P16_-6.00-193.00_5.9400_NE
3P16_10.00-20.00_15.0000_EQ
3P16_10.00-20.00_15.0000_GT
3P16_10.00-20.00_15.0000_LE
3P16_10.00-20.00_15.0000_NE
3P16f_-6.00-193.00_4.5669_EQ
3P16f_-6.00-193.00_4.5669_GT
3P16f_-6.00-193.00_4.5669_LE
3P16f_-6.00-193.00_4.5669_NE
3P16f_10.00-20.00_14.0400_EQ
3P16f_10.00-20.00_14.0400_GE
3P16f_10.00-20.00_14.0400_GT
3P16f_10.00-20.00_14.0400_LE
3P16f_10.00-20.00_14.0400_LT
3P16f_10.00-20.00_14.0400_NE
3P24_10.00-20.00_11.4500_EQ
3P24_10.00-20.00_11.4500_GE
3P24_10.00-20.00_11.4500_LT
3P24_10.00-20.00_11.4500_NE
Texture_signed_component_tests
A8R8G8B8_0x0001
A8R8G8B8_0x0002
A8R8G8B8_0x0003
A8R8G8B8_0x0004
A8R8G8B8_0x0005
A8R8G8B8_0x0006
A8R8G8B8_0x0007
A8R8G8B8_0x0008
A8R8G8B8_0x0009
A8R8G8B8_0x000A
A8R8G8B8_0x000B
A8R8G8B8_0x000C
A8R8G8B8_0x000D
A8R8G8B8_0x000E
A8R8G8B8_0x000F
txt_A8R8G8B8_ADD
txt_A8R8G8B8_SADD
txt_A8R8G8B8_SREVSUB
Vertex_shader_rounding_tests
Compositing_-2
Compositing_2
ProjAdjacentGeometry_0.5625
TopLeftRaster
TopLeftRaster_Fixed
Viewport
-0.438_-0.438-0.000_0.000
0.562_0.562-0.000_0.000
Volume_texture
A8
AY8
DXT1
R16B16
R6G5B5
SZ_Index8
Y16
Y8
W_param
ff_w_zero__bitri
ff_w_zero__bitri_tex_persp
ff_w_zero__quad
ff_w_zero_inf__bitri_w-0.00
ff_w_zero_inf__bitri_w-0.25
ff_w_zero_inf__bitri_w-0.50
ff_w_zero_inf__bitri_w-0.96e-34
ff_w_zero_inf__bitri_w-1.00
ff_w_zero_inf__bitri_w-1.50e-36
ff_w_zero_inf__bitri_w-1.88e-37
ff_w_zero_inf__bitri_w-2.00
ff_w_zero_inf__bitri_w-3.08e-33
ff_w_zero_inf__bitri_w-3.76e-37
ff_w_zero_inf__bitri_w-4.00
ff_w_zero_inf__bitri_w-7.52e-37
ff_w_zero_inf__bitri_w-inf
ff_w_zero_inf__bitri_w0.00
ff_w_zero_inf__bitri_w0.25
ff_w_zero_inf__bitri_w0.50
ff_w_zero_inf__bitri_w1.00
ff_w_zero_inf__bitri_w2.00
ff_w_zero_inf__bitri_w4.00
ff_w_zero_inf__bitri_winf
ff_w_zero_inf__quad_w-0.00
ff_w_zero_inf__quad_w-0.25
ff_w_zero_inf__quad_w-0.50
ff_w_zero_inf__quad_w-0.96e-34
ff_w_zero_inf__quad_w-1.00
ff_w_zero_inf__quad_w-1.50e-36
ff_w_zero_inf__quad_w-1.88e-37
ff_w_zero_inf__quad_w-2.00
ff_w_zero_inf__quad_w-3.08e-33
ff_w_zero_inf__quad_w-3.76e-37
ff_w_zero_inf__quad_w-4.00
ff_w_zero_inf__quad_w-7.52e-37
ff_w_zero_inf__quad_w-inf
ff_w_zero_inf__quad_w0.00
ff_w_zero_inf__quad_w0.25
ff_w_zero_inf__quad_w0.50
ff_w_zero_inf__quad_w1.00
ff_w_zero_inf__quad_w2.00
ff_w_zero_inf__quad_w4.00
ff_w_zero_inf__quad_winf
prog_w_zero_inf__bitri_w-0.00
prog_w_zero_inf__bitri_w-0.25
prog_w_zero_inf__bitri_w-0.50
prog_w_zero_inf__bitri_w-0.96e-34
prog_w_zero_inf__bitri_w-1.00
prog_w_zero_inf__bitri_w-1.50e-36
prog_w_zero_inf__bitri_w-1.88e-37
prog_w_zero_inf__bitri_w-2.00
prog_w_zero_inf__bitri_w-3.08e-33
prog_w_zero_inf__bitri_w-3.76e-37
prog_w_zero_inf__bitri_w-4.00
prog_w_zero_inf__bitri_w-7.52e-37
prog_w_zero_inf__bitri_w-inf
prog_w_zero_inf__bitri_w0.00
prog_w_zero_inf__bitri_w0.25
prog_w_zero_inf__bitri_w0.50
prog_w_zero_inf__bitri_w1.00
prog_w_zero_inf__bitri_w2.00
prog_w_zero_inf__bitri_w4.00
prog_w_zero_inf__bitri_winf
prog_w_zero_inf__quad_w-0.00
prog_w_zero_inf__quad_w-0.25
prog_w_zero_inf__quad_w-0.50
prog_w_zero_inf__quad_w-0.96e-34
prog_w_zero_inf__quad_w-1.00
prog_w_zero_inf__quad_w-1.50e-36
prog_w_zero_inf__quad_w-1.88e-37
prog_w_zero_inf__quad_w-2.00
prog_w_zero_inf__quad_w-3.08e-33
prog_w_zero_inf__quad_w-3.76e-37
prog_w_zero_inf__quad_w-4.00
prog_w_zero_inf__quad_w-7.52e-37
prog_w_zero_inf__quad_w-inf
prog_w_zero_inf__quad_w0.00
prog_w_zero_inf__quad_w0.25
prog_w_zero_inf__quad_w0.50
prog_w_zero_inf__quad_w1.00
prog_w_zero_inf__quad_w2.00
prog_w_zero_inf__quad_w4.00
prog_w_zero_inf__quad_winf
rcc_w_zero_inf__z-0.00
rcc_w_zero_inf__z-0.25
rcc_w_zero_inf__z-0.50
rcc_w_zero_inf__z-0.96e-34
rcc_w_zero_inf__z-1.00
rcc_w_zero_inf__z-1.50e-36
rcc_w_zero_inf__z-1.88e-37
rcc_w_zero_inf__z-2.00
rcc_w_zero_inf__z-3.08e-33
rcc_w_zero_inf__z-3.76e-37
rcc_w_zero_inf__z-4.00
rcc_w_zero_inf__z-7.52e-37
rcc_w_zero_inf__z-inf
rcc_w_zero_inf__z0.00
rcc_w_zero_inf__z0.25
rcc_w_zero_inf__z0.50
rcc_w_zero_inf__z1.00
rcc_w_zero_inf__z2.00
rcc_w_zero_inf__z4.00
rcc_w_zero_inf__zinf
w_gaps
w_gaps_tex_persp
w_neg_strip
w_neg_strip_tex_persp
w_pos_strip
ZMinMaxControl
Ctrl_NEARFAR_ZCLAMP
Ctrl_NEARFAR_ZCLAMP_IgnW
Ctrl_WBuf_NEARFAR_ZCLAMP
Ctrl_WBuf_NEARFAR_ZCLAMP_IgnW
Ctrl_WBuf_NEARFAR_ZCULL
Ctrl_WBuf_NEARFAR_ZCULL_IgnW
CtrlFixed_NEARFAR_ZCLAMP
CtrlFixed_NEARFAR_ZCLAMP_IgnW
CtrlFixed_WBuf_NEARFAR_ZCLAMP
CtrlFixed_WBuf_NEARFAR_ZCLAMP_IgnW
CtrlFixed_WBuf_NEARFAR_ZCULL
CtrlFixed_WBuf_NEARFAR_ZCULL_IgnW